首页 > 解决方案 > 将 requirements.txt 转换为 Conda 环境文件的策略

问题描述

获取 requirements.txt 文件或获取结果pip freeze并将其转换为 conda 环境文件的好策略是什么?例如,理想的最终结果是将 requirements.txt 与固定的 pip 版本一起使用,并且 conda 兼容版本在dependencies而不是在pip.

name: myconverted_condaenv
channels:
  - conda-forge
dependencies:
   <all packages installed via pip>

此外,通过 pip 安装的某些包在 conda 中可能不可用。这个问题的最终目标是了解如何帮助某人快速将他们的设置转换为使用 conda,而无需进行大量手动调整。

标签: condaminiconda

解决方案


所以,事实证明已经有很好的答案可以帮助我完成我需要的事情。 这个答案显示了如何在没有任何锁定版本的情况下获取包。

pip freeze | sed s/=.*// > packages.txt

这个答案显示了一个很棒的循环,它将在可能的情况下通过 conda 安装所有内容,否则使用 pip。

FOR /F "delims=~" %f in (requirements.txt) DO conda install --yes "%f" || pip install "%f"

然后要生成可以保存在源代码管理中的实际 conda 文件,以便可以从中创建新环境,您可以运行

conda env export

推荐阅读