uv - 高速 Python パッケージマネージャー
uv(ユーブイ)とは、Rust で実装された高速な Python パッケージマネージャーです。Astral 社が開発・公開しています。
pip と同じ操作感で使えますが、インストール速度が pip より 10〜100 倍高速という特徴があります。JavaScript 世界での pnpm と npm の関係に近い存在です。また、仮想環境の作成・管理、Python バージョン管理など、pip + venv + pyenv の役割をひとつのツールで担えます。
対象読者: pip を使ったことがある Python 開発者の方
学習時間の目安: 読了 15分 + 実践 15分
前提知識: Python のインストール済み、pip の基本操作
なぜ uv が注目されているのか
Section titled “なぜ uv が注目されているのか”Python のパッケージ管理は、長年 pip が主流でした。pip は信頼性が高く安定していますが、プロジェクトの規模が大きくなるにつれてインストール時間が問題になることがあります。
uv は次の課題を解決するために設計されました。
- インストールが遅い — 依存関係の解決とダウンロードが pip より大幅に高速
- ツールが分散している — pip・venv・pyenv など複数ツールを使い分ける必要があった
- CI 環境でのビルド時間が長い — 繰り返し実行される CI では、インストール時間の短縮が直接的な効果をもたらす
2026年現在、多くのプロジェクトやツールが uv の採用を推奨しており、Claude Code との相性も良い(プロジェクトのセットアップを高速化できる)ことから、AI 開発における標準ツールとして普及が進んでいます。
pip との速度比較
Section titled “pip との速度比較”実際のプロジェクトでの比較例です(環境によって異なります)。
| 操作 | pip | uv | 速度比 |
|---|---|---|---|
pip install flask | 約 3 秒 | 約 0.1 秒 | 約 30 倍 |
pip install -r requirements.txt(20 パッケージ) | 約 30 秒 | 約 1 秒 | 約 30 倍 |
| キャッシュなし初回インストール | 遅い | 速い | 10〜100 倍 |
| キャッシュありの再インストール | 普通 | 非常に速い | 数十倍 |
速度向上の主な理由は次の 2 点です。
- Rust 実装 — Python より低レベルな言語で書かれており、処理速度が高い
- グローバルキャッシュ — 一度ダウンロードしたパッケージはキャッシュに保存され、2 回目以降は再ダウンロード不要
インストール方法
Section titled “インストール方法”macOS / Linux
Section titled “macOS / Linux”curl -LsSf https://astral.sh/uv/install.sh | shインストール後、シェルを再起動するか次のコマンドでパスを反映させます。
source ~/.bashrc # bash の場合
source ~/.zshrc # zsh の場合(macOS デフォルト)バージョン確認
Section titled “バージョン確認”uv --version次のように表示されれば成功です。
uv 0.4.x (...)Windows
Section titled “Windows”PowerShell で実行します。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"pip 経由でのインストール(既存の Python 環境がある場合)
Section titled “pip 経由でのインストール(既存の Python 環境がある場合)”pip install uv基本コマンド
Section titled “基本コマンド”パッケージのインストール
Section titled “パッケージのインストール”# パッケージをインストール(pip install flask に相当)
uv pip install flask
# バージョン指定
uv pip install flask==3.0.0
# requirements.txt から一括インストール
uv pip install -r requirements.txt仮想環境の管理
Section titled “仮想環境の管理”# 仮想環境を作成(python -m venv venv に相当)
uv venv
# 仮想環境を有効化(この部分は従来通り)
source .venv/bin/activate # macOS / Linux
.venv\Scripts\activate # Windows
# 仮想環境を指定して作成(デフォルトは .venv)
uv venv my-envuv が作成する仮想環境は .venv(ドットで始まる名前)がデフォルトです。venv と区別するために覚えておきましょう。
スクリプトの直接実行
Section titled “スクリプトの直接実行”uv run を使うと、仮想環境を手動で有効化しなくても依存関係を自動解決してスクリプトを実行できます。
# スクリプトを実行(仮想環境の有効化なしで OK)
uv run python app.py
# 特定のパッケージをインストールしてスクリプトを実行
uv run --with flask python app.pyインストール済みパッケージの確認
Section titled “インストール済みパッケージの確認”uv pip list
uv pip freeze
uv pip show flaskpyproject.toml との連携
Section titled “pyproject.toml との連携”uv は pyproject.toml(Python プロジェクトの設定ファイル)との連携も得意です。
pyproject.toml は、Python プロジェクトのメタデータや依存関係を記述する設定ファイルです。npm でいう package.json に相当します。
# pyproject.toml の例
[project]
name = "my-app"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"flask>=3.0.0",
"requests>=2.31.0",
]
[tool.uv]
dev-dependencies = [
"pytest>=8.0.0",
"black>=24.0.0",
]pyproject.toml があるプロジェクトでは、次のコマンドで依存関係をすべてインストールできます。
uv syncuv sync は npm install に相当する操作で、pyproject.toml に記載された依存関係を自動でインストールします。
pip vs uv の使い分け
Section titled “pip vs uv の使い分け”| 状況 | 推奨 |
|---|---|
| Python を始めたばかり | pip — 追加インストール不要でシンプル |
| 速度を重視したい | uv — インストール時間を大幅に短縮できる |
| CI/CD 環境 | uv — ビルド時間の短縮に直結する |
| AI ツール・Claude Code と連携 | uv — 高速セットアップとの相性が良い |
| チームで既に pip を使っている | チームの方針に従う |
pyproject.toml でプロジェクト管理 | uv — uv sync でワンコマンドセットアップ |
pip から uv への移行
Section titled “pip から uv への移行”既存の pip プロジェクトに uv を導入するのは簡単です。requirements.txt があれば、そのまま使えます。
# uv をインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
# 既存の requirements.txt を使ってインストール(今まで通り)
uv pip install -r requirements.txtコマンドの先頭に uv を付けるだけで、ほとんどの操作が同じように使えます。
2026年の AI 開発における uv の位置づけ
Section titled “2026年の AI 開発における uv の位置づけ”2026年現在、AI 開発のツールチェーンは急速に進化しています。uv は次の理由から、AI 開発者にとって特に価値のあるツールになっています。
Claude Code との相性: Claude Code がプロジェクトのセットアップや依存関係のインストールを支援する場面で、uv の高速性が活きます。大規模な機械学習ライブラリのインストールも短時間で完了します。
AI ライブラリの依存関係が複雑: PyTorch や TensorFlow などの AI ライブラリは依存関係が複雑で、pip でのインストールに時間がかかることがあります。uv のキャッシュと高速な依存関係解決により、開発サイクルを短縮できます。
標準化の動き: 多くの AI ツールやフレームワークが uv での環境構築を推奨するようになっており、エコシステム全体での採用が進んでいます。
- uv は Rust 製の高速 Python パッケージマネージャー(pip の 10〜100 倍高速)
curl -LsSf https://astral.sh/uv/install.sh | shでインストールできるuv pip installで pip と同じ感覚で使えるuv venvで仮想環境を作成し、uv runでスクリプトを実行できるpyproject.tomlと組み合わせるとuv syncでワンコマンドセットアップが可能- 初心者は pip から始め、速度や CI 効率化が必要になったら uv を検討する
よくある質問
Section titled “よくある質問”Q: uv は pip の完全な置き換えですか?
A: uv は pip 互換のサブコマンド(uv pip install)を提供していますが、完全に同一ではありません。ほとんどのユースケースで互換性がありますが、一部の高度な pip オプションは未対応のものもあります。最新の互換性情報は uv 公式ドキュメント を参照してください。
Q: pip を学んでから uv に移行した方がいいですか?
A: pip の基本概念(パッケージのインストール、requirements.txt、仮想環境)を理解してから uv に移行することを推奨します。uv は pip の上位互換的な位置づけのため、pip の知識がそのまま活きます。
Q: uv は Python のバージョン管理もできますか?
A: はい。uv python install 3.12 で指定バージョンの Python をインストールできます。pyenv の機能の一部を uv が担えるため、ツールの数を減らせます。ただし pyenv の全機能を代替するわけではないので、複雑なバージョン管理が必要な場合は pyenv との併用も選択肢です。
Q: conda(Anaconda)と uv の違いは何ですか?
A: conda はデータサイエンス向けで、Python 以外の C ライブラリなどもまとめて管理できます。uv は Python パッケージに特化しており、高速性とシンプルさが特徴です。一般的なAI / Web 開発では uv で十分ですが、特定の数値計算ライブラリを conda チャンネルから取得する必要がある場合は conda が必要になることがあります。
Q: 無料で使えますか?
A: はい。uv はオープンソース(MIT ライセンス)で無料で使えます。