uv = 依存関係管理 + 仮想環境 + 実行サポートをまとめたツール
Rust で書かれているため、とにかく速いのが特徴です。
Contents
uv のインストール
公式インストーラを使うのが一番簡単です。
macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell)
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
インストール確認は、以下のコマンドで実行可能です。
uv --version
インストールされているバージョンが表示されます。
プロジェクトの作成
新しいプロジェクトを作ります。
uv init my-app
cd my-app
次のフォルダ、ファイルが自動生成されます。
pyproject.toml.venv/(仮想環境)main.py
すでにプロジェクトフォルダが存在している場合は、以下のコマンドでも大丈夫です。
cd my-app
uv init
仮想環境なしでスクリプト実行
uv は自動で仮想環境を作成して実行します。
uv run main.py
Python が無い場合でも、必要なバージョンを自動取得します。
パッケージのインストール
依存関係を追加
uv add requests
以下の処理が行われます。
pyproject.tomlに追加- 依存解決
- キャッシュで高速インストール
バージョン指定
uv add "pandas>=2.2"
依存関係の同期(環境再現)
別の人(別の PC)がプロジェクトを clone した場合:
uv sync
これで 完全に同じ環境 が再現されます。
開発依存(dev-only)
テストツールなど、本番では不要なものは以下のようにインストールできます。
uv add --dev pytest
パッケージの削除
uv remove requests
スクリプト実行
pyproject.toml にスクリプトを定義します。
[tool.uv.scripts]
start = "python main.py"
test = "pytest"
以下のコマンドで実行できます。
uv run start
uv run test
よくある操作まとめ
| やりたいこと | コマンド |
|---|---|
| 新規プロジェクト | uv init . |
| 依存を追加 | uv add <pkg> |
| dev依存 | uv add --dev <pkg> |
| 削除 | uv remove <pkg> |
| 環境再現 | uv sync |
| Python実行 | uv run script.py |
| スクリプト実行 | uv run <name> |
まとめ
uv を使うと以下のようなメリットがあります。
- 速い
- 仮想環境を気にしない
- プロジェクト管理が楽
- チームで同じ環境を再現できる
