安装Python软件包时偏爱pip与conda的特定原因

达斯汀·米歇尔斯(Dustin Michels):

我使用miniconda作为我的默认python安装。关于何时使用conda vs.pip安装某些东西的当前(2019)智慧是什么?

我通常的行为是使用pip安装所有内容,并且仅在conp无法使用软件包或pip版本无法正常工作时才使用conda。

永远青睐有好处conda install吗?混合使用两个安装程序是否存在问题?我应该考虑哪些因素?


目的:这不是一个基于观点的问题!我的问题是,当我可以选择使用pip安装python软件包时conda,如何做出明智的决定?不是“告诉我哪个更好”,而是为什么我要一个又一个地使用,并且会来回摆动会导致问题/效率低下?”

eatmeimadanish:

我发现我之所以首先使用conda仅仅是因为它安装了二进制文件,而不是如果没有软件包,请尝试使用pip。例如,psycopg2在conda中的安装要比pip容易得多。

https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

Pip代表Pip Installs Packages,是Python官方认可的软件包管理器,最常用于安装在Python Package Index(PyPI)上发布的软件包。pip和PyPI均受Python Packaging Authority(PyPA)管辖和支持。

简而言之,pip是Python软件包的通用管理器。conda是与语言无关的跨平台环境管理器。对于用户而言,最明显的区别可能是:pip在任何环境中安装python软件包;conda在conda环境中安装任何软件包。如果您要做的只是在一个隔离的环境中安装Python软件包,则conda和pip + virtualenv通常是可互换的,从而在依赖项处理和软件包可用性方面存在一些差异。隔离环境是指conda-env或virtualenv,您可以在其中安装软件包而无需修改系统Python安装。

如果我们只关注Python软件包的安装,那么conda和pip可以满足不同的受众和不同的目的。例如,如果要管理现有系统Python安装中的Python软件包,conda不能为您提供帮助:根据设计,它只能在conda环境中安装软件包。例如,如果您想使用许多依赖于外部依赖关系的Python程序包(NumPy,SciPy和Matplotlib是常见示例),而以有意义的方式跟踪这些依赖关系时,pip不能为您提供帮助:通过设计,它仅管理Python软件包。

Conda和pip不是竞争对手,而是针对不同用户群和使用方式的工具。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章