Rust製のPythonパッケージ管理ツール「uv」を使ってみよう
本記事でいう「仮想環境」とは、(略)、プロジェクトごとにパッケージのインストール先を分離することで管理を容易にするための仕組みを指します。
「パッケージ管理ツール」、(知られたものを)一覧にしている
Rustのパッケージマネージャである「Cargo」をPythonにもたらすという意味で、「Cargo for Python」になることを追求しており、高速で信頼性が高いパッケージ管理ツールになることを掲げています。
uvはPythonと依存関係がないため、Python自体とは別にインストールできます。
システムに複数のPythonバージョンが存在していても、それぞれにインストールする必要はありません。
pip install uv
curlから入れたら source $HOME/.cargo/env でパスを通す
仮想環境の作成(uv venv)
デフォルトではuvコマンドを実行したディレクトリ内に「.venv」ディレクトリが自動的に作成されます。
uv venv uvenv-test --python /usr/local/bin/python3.11
sourceで有効化(標準ライブラリvenvと同じ)
uv pip list
uvが作成する仮想環境にはpipやsetuptoolsはインストールされません。
uvが提供するpipによってパッケージ管理が行われます。
IMO:Ryeっぽい
uv pip installしている
--no-cache
(IMO:ドキュメントにある?)
IMO:これはpip install互換といえる期待ができる(でも、中でpipを呼ぶ?)
pipとuv pipの違い
pipが持つ機能のすべてを網羅しているわけではないが、必要な機能は備わっている
差分
uv pip install -r pyporject.toml
uv pip sync requirements.txt
パッケージ間の依存関係解決についてはPython標準のpipと動作が異なる場合がある