requirements.txtをuv環境に追加
問題点: UV(超高速Pythonパッケージインストーラー)で依存関係を管理していますが、requirements.txt
ファイルに記載された複数のパッケージを個別に手動でインストールするのが非効率的です。特に依存関係が多い場合、この作業は煩雑になります。
解決策: UVにはrequirements.txt
を直接読み込む機能が組み込まれており、単一のコマンドで全ての依存関係を一括インストールできます。以下の方法を使い分けることで効率的に管理可能です。
標準的な依存関係のインストール
bash
uv pip install -r requirements.txt
- 動作: カレントディレクトリの
requirements.txt
から全パッケージを読み込み - 実行環境: アクティブな仮想環境に依存関係を追加
- 最適なケース:
- 既存プロジェクトの依存関係を復元する場合
- 環境設定を
requirements.txt
で管理したい場合
プロジェクト依存関係の管理
bash
uv add -r requirements.txt
- 動作: 依存関係をインストールしつつ、
pyproject.toml
にも自動追加 - 実行環境: UVで管理されているプロジェクト環境
- 最適なケース:
- 新規プロジェクトのセットアップ時
- 依存関係をプロジェクト設定ファイルに統合したい時
- チームメンバーと開発環境を共有する必要がある場合
ベストプラクティス
効率的なワークフロー
- 仮想環境アクティブ化:
source .venv/bin/activate
- 依存関係インストール:
uv pip install -r requirements.txt
- 開発時のパッケージ追加:
uv pip install packagename
重要な注意点
uv add
はプロジェクト設定(pyproject.toml
)を変更します。設定ファイルを直接編集している場合は整合性の衝突を避けるためuv pip install
を使用してください。
応用: 複数ファイルの処理
複数の要件ファイルがある場合、ファイルパスを直接指定:
bash
uv pip install -r dev-requirements.txt -r prod-requirements.txt
UVの依存関係管理機能を使えば、大規模なプロジェクトでもrequirements.txt
を通じた効率的なパッケージ管理が実現できます。特にプロジェクト設定としてpyproject.toml
を活用する場合は、uv add
コマンドで設定ファイルと環境の同期が自動化されるため、ヒューマンエラーの減少に繋がります。