はじめに
本記事では、uvを使ってPythonの仮想環境を構築し、
依存関係を管理する手順をまとめます。
uvはpipやvenvの代替として使えるツールで、
既存のPython開発フローをほぼそのままに、大幅な高速化が期待できます。
対象読者
- Pythonの仮想環境管理をシンプルにしたい方
- pip・venvからより高速なツールに乗り換えたい方
実行環境
| 項目 | 内容 |
|---|---|
| OS | Windows 11 |
| Python | 3.x |
uvとは
uvはRustで書かれた高速なPythonパッケージ管理ツールで、
pipと比較して10〜100倍の速度向上が期待できます。 DataCamp
仮想環境の作成・依存関係の管理・Pythonバージョンの管理など、
Python開発に必要な機能を一つのツールでカバーしています。 GitHub
| 特徴 | 内容 |
|---|---|
| 速度 | pip比で10〜100倍高速 |
| 言語 | Rustで実装 |
| 互換性 | pip・venv・pip-toolsのコマンドを置き換え可能 |
| 対応OS | Windows / Linux / macOS |
1. uvのインストール
推奨:スタンドアロンインストーラー(Windows)
PowerShellで以下を実行します。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
代替:pipからインストール
pip install uv
インストール確認:
uv --version
バージョンが表示されれば完了です。
2. プロジェクトの作成
uv init <project_name>
実行後、以下の構成でディレクトリが作成されます。
<project_name>/
├── .gitignore # git管理対象外ファイルの設定(自動生成)
├── .python-version # プロジェクトで使用するPythonバージョン
├── README.md
├── main.py
└── pyproject.toml # プロジェクト設定・依存関係の定義ファイル
3. 依存関係の管理
パッケージの追加
uv add <package_name>
実行後、pyproject.tomlとuv.lockが自動的に更新されます。
パッケージの削除
uv remove <package_name>
依存関係の復元(別環境での再現)
uv sync
uv.lockをもとに、まったく同じ環境を再現します。
4. スクリプトの実行
仮想環境を明示的にアクティベートせずに実行できます。
uv run main.py
uvが自動で仮想環境の状態を確認し、必要に応じて依存関係を解決した上で実行します。
5. よく使うコマンド一覧
| コマンド | 説明 |
|---|---|
uv init <name> |
プロジェクトを作成 |
uv add <package> |
パッケージを追加 |
uv remove <package> |
パッケージを削除 |
uv sync |
依存関係を復元 |
uv run <file> |
スクリプトを実行 |
uv pip install <package> |
pipライクな個別インストール |
まとめ
uvを使うことで、仮想環境の作成・依存関係の管理・スクリプト実行を
一つのツールで完結させることができます。
pip + venv の組み合わせからの移行コストは低く、
既存のワークフローをほぼ変えずに高速化できる点が最大のメリットです。