通常情况下交替使用即可,conda install
失败就尝试一下pip install
,反之亦然
区别如下
pip install
是Python官方推荐的包管理工具,通常用于安装Python Package Index(PyPI)托管的包。pip install
可以安装wheels或源码格式的包,需要注意的是源码格式的包通常需要系统内安装了兼容的编译工具和所需要的库文件
conda install
是一个跨平台的包和运行环境管理工具,其安装的包通常来自于Anaconda repository和Anaconda Cloud。和pip install的包不同的是,Conda包是二进制格式的,因此无需预先安装编译器。除此之外,Conda更强大的地方在于其不仅可以安装Python包,还可以安装C(C++)、R语言包以及其他语言编写的包等。
codna
可以创建包含不同版本Python和Python包的虚拟环境,这在不同场景下需要不同版本的工具时非常有用。而pip
本身并不内置此种功能,反而需要依赖于virtualenv
和venv
等工具
conda
和pip
在解决环境依赖的处理方式上也有所区别。pip install
通过循环递归的方式安装依赖,这一点我们可以理解为只要碰到没有安装的依赖包就进行安装,直到安装完毕,很粗暴简单,但是随之带来的问题就是安装过程不稳定,比如安装过程中先安装的软件包的依赖和后安装的软件包的依赖产生冲突,整个安装过程就会崩坏。而conda
使用SAT校验工具来检查当前环境下所有包的依赖是否匹配,虽然耗时一些,但是更加稳定。
总结
目前流行的方式是同时使用pip install
和conda install
,因为有些包可能只能通过pip install
,毕竟Anaconda repository仓库中仅有1500+的包(包含数据分析、机器学习、AI框架等),和拥有150000+的pip
仓库还有具有量级的差别。哪种方式能安装你需要的包就用哪个!