pip freeze和conda list之间的区别
Difference between pip freeze and conda list
如果目标仅仅是列出所有已安装的包,就可以使用pip list或conda list。pip freeze和conda list --export更适用于生成环境的需求文件。例如,如果在自定义环境中创建了一个包,并且有一些依赖项,可以使用conda list --export > requirements.txt。当准备将包分发给其他用户时,他们可以轻松地复制您的环境和相关依赖项,使用conda create --name
conda和pip之间的区别需要更长的讨论。在StackOverflow上有很多解释。Jake VanderPlas的这篇文章也是很好的阅读材料。
你可能还会发现这个表格很有用。它列出了conda、pip和virtualenv之间的操作等效性。
美丽的表格似乎已经移动了... 404!
非常感谢您的注意!我想知道这是否与现在需要virtualenv的人越来越少有关(pyenv和pipenv可能已经成为更主要的力量)。我刚刚更正了链接,并将比较限制在pip和conda之间(不再列出virtualenv)。
这个网站是我的文档 - 我总是喜欢修复它们;-) - 我重新添加了virtualenv(如果你向右滚动,它在表格中),如果你认为删除它的引用会读起来更好,请随意删除。 (:
我来到这里是为了寻找conda list --export。从pip开始使用conda后,又回到了另一个问题的答案。
虽然我的代码没有任何错误,但是当我按照"conda list --export > requirements.txt"和"conda create --name
ğurGürkanTosun,我在语法上没有看到明显的问题。可能是因为在第一次运行代码时,并没有在干净的环境下开始(所以需求文件可能包含了你不需要的部分)。此外,静态环境文件和动态环境文件是有区别的。如果你完全使用conda来管理你的环境,请考虑使用yaml,并只在真正需要时指定版本。在pyjantor repo中可以看到一个很好的例子:github.com/ericmjl/pyjanitor/blob/dev/environment-dev.yml
我的conda环境中有一些包是通过conda安装的,其他包是通过pip安装的(因为某些库只支持pip,并且我使用conda)。所以我需要生成两个requiremen_{pip或conda}.py文件吗?还是有其他解决办法可以正确安装所有内容?
由于我们始终可以在conda环境中使用pip,因此不需要两个单独的文件。例如,当运行conda list时,您应该清楚地看到Build和Channel列,以指示包是通过conda还是pip安装的:
python # Name. Version. Build. Channel
pygments 2.8.1 pypi_0 pypi
pyparsing 2.4.7 pypi_0 pypi
python 3.9.2 h2502468_0_cpython conda-forge