我发现我之所以首先使用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不是竞争对手,而是针对不同用户群和使用方式的工具。