コンテンツにスキップ
X

uv - 高速 Python パッケージマネージャー

uv(ユーブイ)とは、Rust で実装された高速な Python パッケージマネージャーです。Astral 社が開発・公開しています。

pip と同じ操作感で使えますが、インストール速度が pip より 10〜100 倍高速という特徴があります。JavaScript 世界での pnpm と npm の関係に近い存在です。また、仮想環境の作成・管理、Python バージョン管理など、pip + venv + pyenv の役割をひとつのツールで担えます。

対象読者: pip を使ったことがある Python 開発者の方

学習時間の目安: 読了 15分 + 実践 15分

前提知識: Python のインストール済み、pip の基本操作

Python のパッケージ管理は、長年 pip が主流でした。pip は信頼性が高く安定していますが、プロジェクトの規模が大きくなるにつれてインストール時間が問題になることがあります。

uv は次の課題を解決するために設計されました。

  • インストールが遅い — 依存関係の解決とダウンロードが pip より大幅に高速
  • ツールが分散している — pip・venv・pyenv など複数ツールを使い分ける必要があった
  • CI 環境でのビルド時間が長い — 繰り返し実行される CI では、インストール時間の短縮が直接的な効果をもたらす

2026年現在、多くのプロジェクトやツールが uv の採用を推奨しており、Claude Code との相性も良い(プロジェクトのセットアップを高速化できる)ことから、AI 開発における標準ツールとして普及が進んでいます。

実際のプロジェクトでの比較例です(環境によって異なります)。

操作pipuv速度比
pip install flask約 3 秒約 0.1 秒約 30 倍
pip install -r requirements.txt(20 パッケージ)約 30 秒約 1 秒約 30 倍
キャッシュなし初回インストール遅い速い10〜100 倍
キャッシュありの再インストール普通非常に速い数十倍

速度向上の主な理由は次の 2 点です。

  1. Rust 実装 — Python より低レベルな言語で書かれており、処理速度が高い
  2. グローバルキャッシュ — 一度ダウンロードしたパッケージはキャッシュに保存され、2 回目以降は再ダウンロード不要
curl -LsSf https://astral.sh/uv/install.sh | sh

インストール後、シェルを再起動するか次のコマンドでパスを反映させます。

source ~/.bashrc   # bash の場合
source ~/.zshrc    # zsh の場合(macOS デフォルト)
uv --version

次のように表示されれば成功です。

uv 0.4.x (...)

PowerShell で実行します。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

pip 経由でのインストール(既存の Python 環境がある場合)

Section titled “pip 経由でのインストール(既存の Python 環境がある場合)”
pip install uv
# パッケージをインストール(pip install flask に相当)
uv pip install flask

# バージョン指定
uv pip install flask==3.0.0

# requirements.txt から一括インストール
uv pip install -r requirements.txt
# 仮想環境を作成(python -m venv venv に相当)
uv venv

# 仮想環境を有効化(この部分は従来通り)
source .venv/bin/activate   # macOS / Linux
.venv\Scripts\activate      # Windows

# 仮想環境を指定して作成(デフォルトは .venv)
uv venv my-env

uv が作成する仮想環境は .venv(ドットで始まる名前)がデフォルトです。venv と区別するために覚えておきましょう。

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 flask

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 sync

uv syncnpm install に相当する操作で、pyproject.toml に記載された依存関係を自動でインストールします。

状況推奨
Python を始めたばかりpip — 追加インストール不要でシンプル
速度を重視したいuv — インストール時間を大幅に短縮できる
CI/CD 環境uv — ビルド時間の短縮に直結する
AI ツール・Claude Code と連携uv — 高速セットアップとの相性が良い
チームで既に pip を使っているチームの方針に従う
pyproject.toml でプロジェクト管理uvuv sync でワンコマンドセットアップ

既存の 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 を検討する

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 ライセンス)で無料で使えます。