詩の代替としての UV

Susan Sarandon
リリース: 2024-12-03 14:20:15
オリジナル
323 人が閲覧しました

Python にはどういうわけかパッケージ マネージャーが多すぎます。もちろん、これには明らかな理由があります。それは、組み込みのパッケージ マネージャーである pip の機能が不足しているためです。しかし、それでもなお、内なる完璧主義者はすぐに使えるシンプルな解決策を望んでいます。 Python をインストールすると、すぐに高速で便利なパッケージ マネージャー、できれば Python バージョン マネージャーが使用できるようになります。しかし、代わりにpipが得られます。もちろん実際に使っている人もいますが、それでも詩、pdm、conda、pipenv、少なくとも pip-tools の方がはるかに便利です。

そうですね、詩は誰にとっても良いようですね。私自身もほとんどのプロジェクトでそれを使用しています。ただし、依存関係のインストールは、特に Docker コンテナーを再構築する場合に遅く感じられ始めます。さらに、詩自体をインストールしたり、Python のバージョンを変更したりするのは面倒です。たとえば、pyenv を通じてバージョンを変更すると、環境を再作成しようとすると詩でエラーが発生します。ただし、Python のさまざまなバージョンで動作できることが想定されています。もちろん、これはインタプリタへのフルパスを指定することで簡単に解決できますが、それでも難題です。同じ pyenv をインストールし、通常はそれを使用します。そして、Python のバージョンを制御するものはこれ以上ないようです。

そして、2 月に、Ruff の作成者から興味深い解決策が登場しました。 Rast で書かれた UV パッケージ マネージャー。もちろん純粋にコンソールベースであり、その構文は詩を非常に彷彿とさせます。機能の点では、これらはほぼ同じですが、多くの利点があり、数倍高速です。このドキュメントには、同じ依存関係セットのインストール時間の図が示されています。

UV как альтернатива Poetry

構文は詩に非常に似ています。たとえば、プロジェクトは次のように作成されます (ディレクトリに直接移動します):

uv init project
cd project
ログイン後にコピー

次の構造があります:

project
├── .python-version
├── hello.py
├── pyproject.toml
└── README.md
ログイン後にコピー

詩などの依存関係は pyproject.toml 設定に保存され、Python のバージョンは .python-version に保存されます。

仮想環境を作成しましょう:

uv venv
ログイン後にコピー

以下に応じて SQLAlchemy を追加します。

uv add sqlalchemy
ログイン後にコピー

または、特定のバージョンを追加することもできます:

uv add sqlalchemy@2.0.32
ログイン後にコピー

次に削除しましょう:

uv remove sqlalchemy
ログイン後にコピー

今度は Sugar - Python のバージョン管理です。 3.11.9をインストールしてインタープリタが使える環境を構築しましょう。

uv python install 3.11.9
uv venv --python 3.11.9
ログイン後にコピー

Python のバージョンは .python-version に保存されます。UV がパッケージ マネージャーであるため、インタープリターを変更するたびにこれをパッケージ マネージャーに指示する必要はありません。さらに、バージョンを手動でインストールする必要さえありませんが、目的のバージョンで環境をすぐに作成します。インストールされていない場合は、UV 自体がそれをプルします。つまり、それについて考える必要はありません。まったく - まあ、それはスリルです。

詩と同様に、PyPI でパッケージを構築して公開する機能があります。次の 2 つのコマンドを使用して、コンテナを構築し、パッケージを公開できます。

uv build
uv publish
ログイン後にコピー

UV をスーパーバイザーとして使用し、uv run を使用してスクリプトやアプリケーションを実行することもできます

そして、一番重要なのは Docker イメージです。

FROM ghcr.io/astral-sh/uv:python3.12

WORKDIR /app

RUN uv venv

CMD ["run", "app"]
ログイン後にコピー

Python イメージをプルして、pip 経由でそこに UV をインストールする必要はありません。すぐに UV イメージをプルして楽しむことができます。さらに、他にもたくさんのトリックがありますが、ドックでのこれについては (ちなみに、これは非常に明確です) - ドックでこれらのチップが必要な人は、ドックに入るのを恐れることはありません。

一般的に、非常に便利なツールであり、詩の優れた代替品です。まだどの IDE でも UV がサポートされていませんが、それは時間の問題です。機能がたくさんあるのは素晴らしいことなので、プロジェクトが発展してほしいと思っています。この投稿を共有し、使用しているものを書いてください。

追伸そして、TGC を満喫する必要があります: https://t.me/dmkjfss

以上が詩の代替としての UVの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート