【ゆーぶい】

uv(Pythonパッケージマネージャ) とは?

公開:
💡 pipの100倍速いPython環境管理の新定番
📌 このページのポイント
uv:pip比で超高速 + オールインワン インストール速度比較 pip 遅い uv 最大100倍以上速い poetry 遅め (ベンチマーク値は環境により異なります) uv でできること パッケージ管理 uv pip install / uv add 仮想環境管理 uv venv(virtualenv代替) Pythonバージョン管理 uv python install 3.12(pyenv代替) pip + virtualenv + pyenv → uv 1つに集約 Rustで実装 → 並列処理・キャッシュ最適化 でpipを大幅に超える速度を実現 Astral社が開発するオープンソースツール(2024年〜)
uvの速度優位性とオールインワン機能のイメージ
ひよこ ひよこ
uvって聞いたことない名前だけど、どんなツールなの?
ペンギン先生 ペンギン先生
PythonのパッケージマネージャだよI。今まで使われていたpip・pipenv・poetryなどを一つに置き換えられる「オールインワン」ツールで、Rustで書かれているから処理速度が段違いに速いんだ。
ひよこ ひよこ
どれくらい速いの?
ペンギン先生 ペンギン先生
ベンチマークによってはpipの10〜100倍以上速いよ。たとえばCIで毎回`pip install -r requirements.txt`していた処理が、uvだと数秒で終わることもあるんだ。大きなプロジェクトほど差が出やすいよ。
ひよこ ひよこ
pipとの使い方は全然違うの?ペンギン先生。
ペンギン先生 ペンギン先生
移行しやすいように設計されているよ。`pip install`が`uv pip install`になるだけで、コマンドの大部分はpip互換性があるんだ。さらにuvには仮想環境の作成(`uv venv`)やPythonバージョン管理(`uv python install 3.12`)の機能も内蔵されているよ。
ひよこ ひよこ
pyenvとpoetryも要らなくなるってこと?
ペンギン先生 ペンギン先生
多くのケースではそうなるよ。pyenvが担っていたPythonバージョン管理、poetryが担っていた依存関係の解決・ロックファイル管理、virtualenvの仮想環境作成、これら全部をuvが一手に引き受けられるんだ。ツール数を減らせるのが大きなメリットだよ。
ひよこ ひよこ
デメリットや注意点はあるの?
ペンギン先生 ペンギン先生
まだ比較的新しいツール(2024年リリース)なので、一部のエコシステムとの統合がまだ発展途上の部分があるよ。また`uv run`コマンドを使うと仮想環境を明示的に作らずスクリプトを実行できて便利な反面、環境の状態が見えにくくなることもあるね。ただ勢いはすさまじく、GitHub Starsは1年で数万を超えているよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
uv」って出てきたら「Rustで作られた超速Pythonパッケージマネージャでpipとpoetryを置き換えるツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「uv」 = uvはRustのWebフレームワーク「uvicorn」のアスキーアートが由来とも言われるが公式には「高速」のシンボルとして名付けられたよ
← 用語集にもどる