uv は Astral 製の高速な Python パッケージ・プロジェクト管理ツール(Rust製)です。pip / pip-tools / virtualenv / pipx / poetry / pyenv 相当を単一ツールで扱えます。
pyproject.toml と uv.lock で依存を厳密に固定し、再現性の高い環境を高速に構築できます(本サイトの会社案内PDF生成バッチ aboutpdf でも uv + pyproject.toml / uv sync を採用しています)。
インストール
curl -LsSf https://astral.sh/uv/install.sh | sh <-- Linux / macOS
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" <-- Windows
pipx install uv <-- pipx 経由
pip install uv <-- pip 経由
プロジェクト管理(pyproject.toml / uv.lock)
| コマンド | 説明 |
|---|
| uv init [NAME] | プロジェクトを作成(pyproject.toml 等を生成) |
| uv add <PKG> | 依存を追加(pyproject.toml 更新+uv.lock+環境同期) |
| uv add --dev <PKG> | 開発用依存として追加 |
| uv remove <PKG> | 依存を削除 |
| uv sync | uv.lock に従い仮想環境(.venv)を同期(無ければ作成) |
| uv lock | 依存解決して uv.lock を更新 |
| uv lock --upgrade | 許容範囲で依存を更新してロック |
| uv run <CMD> | プロジェクト環境でコマンド実行(例: uv run python app.py) |
| uv tree | 依存関係ツリーを表示 |
パッケージ操作(pip 互換)
| コマンド | 説明 |
|---|
| uv venv [DIR] | 仮想環境を作成(既定 .venv) |
| uv pip install <PKG> | pip 互換でインストール(高速) |
| uv pip compile requirements.in -o requirements.txt | 依存を解決してロックファイル生成(pip-tools 相当) |
| uv pip sync requirements.txt | ロック内容に環境を厳密同期 |
| uv pip list / freeze | 導入済みパッケージの一覧 |
Python バージョン管理(pyenv 相当)
| コマンド | 説明 |
|---|
| uv python list | 利用可能/導入済みの Python を一覧 |
| uv python install 3.12 | 指定バージョンの Python を導入 |
| uv python pin 3.12 | プロジェクトで使う Python を固定(.python-version) |
ツール実行(pipx 相当)
| コマンド | 説明 |
|---|
| uvx <TOOL> | ツールを一時環境で実行(uv tool run の短縮) |
| uv tool install <TOOL> | CLI ツールを常設インストール |
| uv tool list / uninstall | 導入済みツールの一覧 / 削除 |
その他
| コマンド | 説明 |
|---|
| uv --version | uv のバージョン表示 |
| uv self update | uv 自体を更新 |
| uv cache clean | キャッシュを削除 |
基本的な流れ(例)
uv init myapp && cd myapp
uv add requests
uv run python -c "import requests; print(requests.__version__)"
# 別環境での再現:
uv sync <-- pyproject.toml / uv.lock から環境を復元