【ユーブイ】

uv とは?

💡 pipの100倍速いPython環境管理の新標準
📌 このページのポイント
uv — pip比100倍速のPython環境管理ツール インストール速度比較 pip 120秒 uv 1〜2秒 pip-tools 90秒 ※ 100パッケージ導入時の目安 uvで完結する作業 uv venv 仮想環境の作成(venv代替) uv pip install 高速パッケージ導入(pip代替) uv run スクリプト実行(Python版指定も可) uv tool CLIツール管理(pipx代替) 代替できるツール pip / pip-tools / venv pyenv / pipx → uvひとつで全部まかなえる
uvとpipの速度比較とワークフロー
ひよこ ひよこ

uvって最近よく聞くんだけど、何が違うの?

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

uvはRustで書かれたPythonのパッケージ管理ツールで、pipの10〜100倍速くパッケージをインストールできるんだよ。2024年にAstral社が公開して、あっという間に話題になったんだ。

ひよこ ひよこ

pipで困ったことないけど、そんなに速さって重要なの?

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

大規模プロジェクトだと依存パッケージが100個以上になることも珍しくないんだよ。pipで数分かかっていたインストールがuvなら数秒で終わる。CIでの自動テストが何十回と走る環境では、その差が積み重なってかなり大きくなるんだ。

ひよこ ひよこ

インストールが速いだけ?

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

それだけじゃないよ。uvは仮想環境の作成・管理・Pythonバージョン管理まで一括で担えるんだ。これまでvenv・pip・pyenv・pip-toolsと複数ツールを組み合わせていた作業が、uvだけで完結するんだよ。

ひよこ ひよこ

今すぐpipから乗り換えるべき?

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

新規プロジェクトならuvを試してみる価値は十分あるよ。既存プロジェクトもほぼpip互換性があるから移行しやすいんだ。ただし、まだ発展中のツールなので、チームの合意なしに本番環境のビルドプロセスを急に変えるのは慎重にした方がいいね。

ひよこ ひよこ

pipxとはどう違うの?

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

pipxはBlack・RuffなどのCLIツールをグローバル環境を汚さずにインストールするためのツールだよ。一方uvは普段の開発でのパッケージ管理が主な用途なんだ。最近はuv toolというコマンドでpipxの役割もこなせるようになってきているよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「uv」って出てきたら「pipより圧倒的に速いPythonの新しい環境管理ツールのことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「uv」 = (命名の由来は非公式だが、Rustのasync runtimeであるTokioのuv_loopが由来との説がある)
💬 Rustのエコシステムから生まれた次世代Pythonツールで、名前の短さが「すぐ使える」ことを表しているとも言われているよ
← 用語集にもどる