繁体   English   中英

pip 在没有 Conda 包的情况下冻结

[英]pip freeze without Conda packages

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

pip freeze > requirements.txt

将我的项目传递到另一台笔记本电脑, requirements.txt文件充满了 Conda 包,这样当我尝试使用命令恢复它们时

pip install -r requirements.txt

它找不到它们并且失败了。

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

在一天结束时,我只使用 Conda 创建了单独的 Python 个工作区。

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

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

应该提到的是,共享环境的更惯用的工作流程是使用conda env export ,它还从 PyPI 中捕获(和分离)包。 有关详细信息,请参阅有关共享环境的 Conda 文档

如果你很确定 Anaconda 对于这个项目来说不是必需的,你可以从 requirements.txt 中手动删除它的包。

Conda 包通常用 @ 定义。

这是删除它们的代码:

Linux:

pip freeze | grep -v "@" > requirements.txt

Windows

pip freeze | findstr /v "@" > requirements.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM