【ユーブイ】

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

💡 pipの100倍速い?Pythonの荷物運びに超特急が登場
📌 このページのポイント
uv: Python開発ツールを統合 pip パッケージ管理 venv 仮想環境 pip-tools ロックファイル pyenv バージョン管理 uv パッケージ管理 + 仮想環境 + ロック + バージョン管理 uv pip install 高速インストール uv run script.py 環境自動構築+実行 uv lock 依存を固定 Rust製
uvによるPython開発ツール統合のイメージ
ひよこ ひよこ

pipでパッケージ入れてるけど、uvって何が違うの?

ペンギン先生 ペンギン先生

やっていることはpipと同じ、パッケージのインストールだよ。でもuvはRustで書かれているからめちゃくちゃ速いんだ。大量の依存があるプロジェクトだと体感で10〜100倍くらい違うよ

ひよこ ひよこ

速い以外にメリットあるの?

ペンギン先生 ペンギン先生

uv lock でロックファイルを自動生成してくれるから、チームで環境を揃えやすいんだ。さらに uv run を使えば仮想環境の作成からスクリプト実行まで一発でできるよ

ひよこ ひよこ

pyenvとかvenvとかpip-toolsとか、Pythonはツールが多すぎて混乱するんだけど...

ペンギン先生 ペンギン先生

まさにその問題を解決するのがuvだよ。Pythonバージョン管理仮想環境、パッケージインストール、ロックファイル管理を全部uvひとつでカバーできるんだ

ひよこ ひよこ

既存のrequirements.txtは使える?

ペンギン先生 ペンギン先生

使えるよ。uv pip install -r requirements.txt でそのまま動くし、pyproject.tomlベースの管理にも対応しているから段階的に移行できるんだ

ひよこ ひよこ

RuffもAstral社だよね?Python界隈を変えようとしてるのかな

ペンギン先生 ペンギン先生

そうだね。Ruffでリント、uvでパッケージ管理と、Rust製の高速ツールでPython開発体験を一新しようとしているよ。2024年後半から爆発的に普及して、もう標準ツールと言っていいレベルだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「uv」って出てきたら「pipを超高速にした次世代Pythonパッケージ管理」と思えればだいたいOK!
📖 おまけ:英語の意味
「uv」 = 紫外線(ultraviolet)
💬 開発元のAstral社が宇宙・光をテーマにした命名をしていて、uvは紫外線のことだよ。姉妹ツールのRuffと合わせて、Python開発を照らす光というイメージだね
← 用語集にもどる