Python環境のセットアップに何十分もかけていませんか。
pipでパッケージを入れ、virtualenvで仮想環境を作り、pyenvでPythonバージョンを切り替える——ツールごとにコマンドを覚え、更新のたびに複数の設定ファイルを管理する手間は、開発者にとって避けられない雑務です。uvはそれをまるごと解消します。
この記事でわかること:
- uvが何を置き換えられるか
- pip比10〜100倍の高速化が出る理由
- インストールから基本コマンドまでの手順
- poetry・pyenv・pipxとどう違うか
https://github.com/astral-sh/uv
uvはAstralが開発するRust製のPythonパッケージ・プロジェクトマネージャーです。pip・pip-tools・virtualenv・pyenv・poetry・pipx・twineを単一バイナリで置き換えられる設計で、2026年5月8日にバージョン0.11.12がリリースされました。AstralはPythonリンター「Ruff」の開発元でもあり、uvはRuffと同じアプローチ——Rustによる高速処理と、ゼロ設定で使える使い心地——を踏襲しています。
なぜpipより速いのか
uvの速度は、依存解決エンジンをRustで書き直したことと、グローバルキャッシュの仕組みによります。一度インストールしたパッケージはキャッシュに残り、次回以降は再ダウンロードが不要です。公式ベンチマークでは、ウォームキャッシュ時にpip比で10〜100倍の速度差が計測されています(参考)。大きなプロジェクトでは、依存解決に数分かかっていた処理が数秒で終わります。
主な機能
Pythonバージョン管理
pyenvなしでPythonそのものをインストール・切り替えられます。
uv python install 3.12 3.13 3.14
uv python pin 3.13
uv python listで利用可能なバージョン一覧を確認でき、プロジェクトごとに異なるバージョンを固定できます。
プロジェクト管理
pyproject.tomlとuv.lockを中心に、依存関係の追加・同期・ロックを管理します。
uv init myapp
cd myapp
uv add requests
uv sync
uv addは依存をpyproject.tomlに書き込み、uv syncは環境を最新のロックファイルに合わせます。poetry add・poetry installと同じ感覚で使えます。
スクリプト実行
単一ファイルのスクリプトにインライン依存メタデータを書いて、仮想環境なしで実行できます。
uv add --script example.py requests
uv run example.py
依存は隔離された一時環境にインストールされ、スクリプトが終わると環境は消えます。
ツール実行(uvx)
pip installせずにPythonツールをワンコマンドで実行できます。npxのPython版です。
uvx ruff check .
uvx black --check .
恒久的にインストールしたい場合はuv tool install ruffを使います。
pip互換インターフェース
既存のワークフローをそのまま使いたい場合は、pipの代わりにuv pipコマンドが使えます。
uv pip install -r requirements.txt
uv pip compile requirements.in -o requirements.txt
uv pip compileはpip-toolsのpip-compileに相当し、ロックファイルを生成します。
インストール方法
macOS・Linuxはcurlで1行です。
curl -LsSf https://astral.sh/uv/install.sh | sh
Homebrewからも入れられます。
brew install uv
Windowsはpowershellを使います。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
インストール後はuv self updateで最新版へ更新できます。
既存ツールとの違い
| ツール | uvで対応するコマンド |
|---|---|
| pip | uv pip install / uv add |
| virtualenv / venv | uv venv |
| pip-tools | uv pip compile / uv pip sync |
| pyenv | uv python install / uv python pin |
| poetry | uv init / uv add / uv sync |
| pipx | uvx / uv tool install |
poetryやpipxと違うのは、これらを1つの実行バイナリで完結させる点です。ツールごとの設定ファイルや更新作業が不要になります。
まとめ
uvは、Rustの速度と統一インターフェースを武器に、Pythonエコシステムの複数のツールを1本に集約します。新しいプロジェクトを始めるならuv initから、既存のpip環境をそのまま速くしたいならuv pip installから試せます。GitHubのスター数は2026年5月時点で50,000を超えており、採用実績も十分に積み上がっています。