在没有 Conda 的情况下从 (Conda) environment.yml 安装依赖项?

Installing dependencies from (Conda) environment.yml without Conda?

我目前使用 Conda 来捕获 environment.yml 中 python 项目的依赖项。

当我从项目构建 docker 服务时,我需要重新安装这些依赖项。我想四处走走,不得不在我的 docker 图像中添加 (mini-)conda。

是否可以用 pip/pipenv 解析 environment.yml 或将其转换为相应的 requirements.txt

(我还不想离开 conda,因为这是 MLflow 在我记录模型时捕获的内容)

没有。

  1. conda 自动安装 conda 包的依赖项。 pip 以不同方式解决这些问题,因此您必须在转换脚本中解决 Anaconda 依赖关系树。

  2. 许多 conda 个包是 non-Python。您根本无法使用 pip 安装这些依赖项。

  3. 一些 conda 包包含使用 Anaconda 编译器工具链编译的二进制文件。即使相应的 pip 包可以在安装时编译此类二进制文件,它也不会使用 Anaconda 工具链。您将获得的内容与相应的 conda 包根本不同。

  4. 一些 conda 包应用了修复,相应的 pip 包中缺少这些修复。

我希望这足以让您相信您的想法不会成功。

安装 Miniconda 并不是什么大事。就这样吧:-)