没有Conda软件包的点子冻结

时间:2020-06-26 18:00:22

标签: python pip conda

我使用Conda已有一段时间了,它非常有帮助。但是,最近我发生了当我运行命令时

pip freeze > requirements.txt

要将我的项目传递到另一台笔记本电脑, requirements.txt 文件包含了许多Conda软件包,因此当我尝试使用命令还原它们时

pip install -r requirements.txt

找不到它们并失败。

我的问题是,是否可以在pip命令不考虑Conda软件包的情况下进行pip freeze

最终,我只使用Conda创建单独的Python工作区。

2 个答案:

答案 0 :(得分:1)

如果您确定Anaconda对于该项目不是必需的,则可以从requirements.txt中手动删除其软件包。

答案 1 :(得分:1)

conda list命令将在pypi列中显示带有Channel的PyPI软件包。因此,一种快速的方法是对此进行过滤,例如

conda list | awk '$4 ~ /pypi/ { print $1 "==" $2 }'

应该提到的是,共享环境更惯用的工作流程是使用conda env export,它也可以从PyPI中捕获(和分离)软件包。有关详细信息,请参见the Conda documentation on sharing environments