はじめに
Pythonの仮想環境や依存管理、pipの遅さにモヤモヤしていませんか? そんな悩みを一気に解決してくれるのが、超高速なパッケージ&環境管理ツール「uv」です!
この記事では、uvの基本から、現場でよく使うコマンド、uv addとuv pipの違いまで、実践的に解説します💡
💡 uvとは?
uv は Rust 製の超高速Pythonツールチェーン。 以下の機能を1つにまとめて、爆速&再現性の高い開発環境を提供してくれます:
- 仮想環境作成(
venv) - パッケージ管理(
pip) - 依存記録(
pip-tools相当) - 環境同期(
poetryのような再現性)
よく使うコマンド
🧪 プロジェクト初期化:uv init
uv init --venvpyproject.tomlを自動生成.venvを作成(--venvオプション)tool.uvセクション付きでuvに最適化
📌 使う場面:新しいプロジェクトを始めるとき
📦 パッケージ追加・削除:uv add, uv remove
uv add requests
uv remove requestspyproject.tomlに自動で追記・削除uv sync不要!即反映!
📌 使う場面:依存パッケージを管理したいとき
⚔️ uv add と uv pip install の違い
| 比較項目 | uv add | uv pip install |
|---|---|---|
| 依存の記録 | ✅ 自動で pyproject.toml に追記 | ❌ 手動で管理が必要 |
| 再現性 | 高い(構成ファイルに記録) | 低い(環境依存) |
uv sync の必要性 | ❌ 不要 | ✅ 必要 |
| 用途 | 本番・チーム開発向け | 試験的・一時的な利用向け |
💡 まとめ:
- 本気の開発には
uv add - ちょっと試すだけなら
uv pip install
🔁 環境の再現:uv sync
uv syncpyproject.tomlに基づいて環境を再構築- CI/CDやチーム開発で大活躍!
📌 使う場面:環境をクリーンに再現したいとき
🔍 状態確認:uv pip list, uv pip check
uv pip list
uv pip check- インストール済みパッケージの確認
- 依存関係の矛盾チェック
📌 使う場面:環境の健全性を確認したいとき
📄 互換性維持:uv pip freeze, uv pip install -r
uv pip freeze > requirements.txt
uv pip install -r requirements.txt- レガシーな
requirements.txtにも対応 - 既存プロジェクトの移行にも便利
📌 使う場面:pipベースのプロジェクトと連携したいとき
⚙️ ビルド:uv pip wheel
uv pip wheel . --wheel-dir dist/- wheelファイルを高速ビルド
- オフライン環境やCIで便利
📌 使う場面:配布・デプロイ用にパッケージを固めたいとき
🧭 よく使うコマンドまとめ
| コマンド | 用途 |
|---|---|
uv init --venv | プロジェクト初期化+仮想環境作成 |
uv add / remove | パッケージの追加・削除(記録付き) |
uv pip install | pip互換の柔軟なインストール |
uv sync | 環境の再現・同期 |
uv pip list / check | 状態確認・依存チェック |
uv pip freeze / install -r | 旧形式との互換性維持 |
uv pip wheel | パッケージのビルド |
🧼 おわりに:uvで、Python開発をもっと軽やかに
Pythonの仮想環境や依存管理は、地味だけどとても大切な部分。 uv を使えば、これまで面倒だった作業が一瞬で終わり、しかも再現性バッチリになります。
uv initでプロジェクトを軽やかにスタートuv addで依存をスマートに管理uv syncで誰でも同じ環境を再現uv pip系で柔軟な操作もOK
つまり、速い・軽い・整ってるの三拍子! チーム開発でも、個人開発でも、CIでも、uvはきっと頼れる相棒になるはずです。


コメント