Pip要件ファイルでオプションの依存関係を指定するにはどうすればよいですか?
pipドキュメント によると、これは可能ですが、ドキュメントにはその方法が説明されておらず、Web上で例を見つけることができません。
ハード要件と同じファイルにオプションの依存関係を指定する代わりに、optional-requirements.txt
とrequirements.txt
を作成できます。
現在の環境のパッケージをテキストファイルにエクスポートするには、次のようにします。
pip freeze > requirements.txt
必要に応じて、requirements.txtの内容を変更して、プロジェクトの依存関係を正確に表します。次に、このファイル内のすべてのパッケージをインストールするには、次のコマンドを実行します。
pip install -U -r requirements.txt
-U
はpip
にパッケージを最新バージョンにアップグレードするように指示し、-r
はすべてのパッケージをrequirements.txtにインストールするように指示します。
2015年 PEP-0508requirements.txt
でオプションの依存関係を指定する方法を定義しました。
requests[security]
つまり、yourpackage
にはセキュリティオプションとしてrequests
が必要です。次のようにインストールできます。
pip install yourpackage[security]
あなたはドキュメントを誤解しています。それはそれができるほど明確ではありません。ドキュメントのポイントは、要件ファイルを使用すると、必要な依存関係とオプションの依存関係の両方を含む、推奨される完全なワーキングセットのパッケージを自由に指定できることです。
コメント(#で始まる行)を追加して、2つを人間と区別することができますが、pipは区別しません。ダニエルが示唆するように、2つの要件ファイルを持つこともできます。