4

完全に固定された依存関係をインストールするベスト プラクティスに従うようにしています (反復可能なビルドとより優れた 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 )

4

1 に答える 1