問題タブ [pip-tools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - conda と pip の両方を使用する場合、Python でバージョン管理された依存関係を固定するにはどうすればよいですか?
完全に固定された依存関係をインストールするベスト プラクティスに従うようにしています (反復可能なビルドとより優れた Docker キャッシュについては、この pythonspeed.com の記事を参照してください)。
私のプロジェクトでは、conda と pip の両方を使用する必要があります (複雑な ML パッケージには conda、conda で利用できないものには pip)。conda -lockおよびpip-compileツールは、固定されたバージョンですべての推移的な依存関係を生成できます。ただし、これらのツールは独立しています。pip-compile を実行すると、conda-lock がインストールしようとしている依存関係が認識されず、その逆も同様です。
これにより、パッケージのバージョンが異なり、Docker イメージで無駄なスペースが発生し、破損や非互換性が発生する可能性があります。これは、このpip install
ステップでいくつかの推移的な依存関係の異なるバージョンがインストールされるためです。
conda と pip の両方を使用するときに、固定された Python 依存関係リストを作成するためのより良い解決策はありますか?
(編集: pip の依存関係をサポートするための conda-lock の github チケットは次のとおりです: https://github.com/conda-incubator/conda-lock/issues/4 )
homebrew - 自作用の pip-tools のようなものはありますか?
homebrewで何かをインストールすると、依存関係もインストールされますが、これは問題ありません。ただし、後でこの特定のアイテムをアンインストールすると、依存関係はインストールされたままになります。そのため、多くのソフトウェアがインストールされていて、その理由がわかりません。
状況が似ている pip の場合、 pip-tools のようなソリューションがあります。必要なパッケージ ( requirements.in
)を含むリストを作成し、依存関係 ( ) を含むすべてのpip-compile
パッケージのリストを取得する必要があります。のエントリを削除して再コンパイルすると、他に必要がない限り、依存関係も で消えます。requirements.txt
requirements.in
requirements.txt
自家製に似たようなものがあるのだろうか?