我尝试遵循安装完全固定依赖项的最佳实践(有关可重复构建和更好的 Docker 缓存,请参阅这篇 pythonspeed.com 文章)。
我的项目需要同时使用 conda 和 pip(conda 用于复杂的 ML 包,pip 用于 conda 上不可用的东西)。conda-lock和pip-compile工具能够在固定版本中生成所有传递依赖项。但是,这些工具是独立的:当我运行 pip-compile 时,它不知道 conda-lock 想要安装的依赖项,反之亦然。
这会导致不同的包版本,导致 Docker 映像中的空间浪费,并可能导致损坏/不兼容,因为该pip install步骤安装了某些传递依赖项的不同版本。
在使用conda 和 pip时,是否有人有更好的解决方案来创建固定的 Python 依赖项列表?
(编辑:这是关于 conda-lock 的 github 票证,用于支持 pip 依赖项:https://github.com/conda-incubator/conda-lock/issues/4)