conda install 和 pip 的区别

Posted 玛丽莲茼蒿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了conda install 和 pip 的区别相关的知识,希望对你有一定的参考价值。

零、前言

在anaconda创建的虚拟环境中,conda install和pip都能安装packet,有什么区别吗?

我的问题的范围在于“anaconda创建的虚拟环境”,所以下面这种区别就不考虑了:

两年前就有了这个疑惑,不过只是在瞎用,哪个能下好用哪个。但是依据官方的说法,有时候瞎用也是有道理的,因为要下载的包不一定哪个里有。最好是先用conda install,不行的话换pip

看到“远程仓库”这个概念突然发现,anaconda和maven好像差不多

一、区别

看一下官网给出的区别:

Anaconda | Understanding Conda and Pip

 总结一下:

1. 远程仓库不同(源不同)。pip的仓库里有150,000多个包,conda只有1500多个。当然,我们用的时候肯定不用这个默认的远程仓库,都替换成国内的阿里源、清华源了。

这里涉及到我们在命令行中的操作不同!

(1)使用conda install命令时,由于我已经在配置文件(用户目录下C:\\Users\\DELL的.condarc文件)中替换上了清华源,所以安装一个包的时候不需要再操心换源的问题,直接用以下命令:

conda install 包名

更改配置文件详见这篇博客:ANACONDA安装记录及pythorch的下载_玛丽莲茼蒿的博客-CSDN博客_pythorch 安装 

(2)而对于pip命令,需要操心换源的问题。例如按matplotlib这个包

pip install -i https://mirrors.aliyun.com/pypi/simple matplotlib

详见这篇博客:

Anaconda环境改名、增加新packet_玛丽莲茼蒿的博客-CSDN博客_anaconda环境改名

2.可装包范围不同

pip是一个纯粹的管理和安装python库的工具;而conda不仅仅可以安装python库,一些依赖的c/c++库或者其他语言库,也是可以一并安装的。

3.依赖处理的逻辑不同

虽然两者都会校验依赖,但是校验的逻辑和方法是不同的。pip是按顺序一个一个检查,如果安装第一个库时,引入了第二个库不兼容的库,那么安装第二个库的时候,就会存在问题;而conda是在执行命令时,对所需安装的库做统一的兼容检查,以安装最合适的版本。

4.还有一点我不太明白的是,在虚拟环境中使用pip命令,用的是全局的pip,并没有用这个环境中的pip。

5. 其他的区别不太重要了

以上是关于conda install 和 pip 的区别的主要内容,如果未能解决你的问题,请参考以下文章

pip install vs conda install [重复]

pip搜索和conda搜索有啥区别[重复]

Conda 版本 pip install -r requirements.txt --target ./lib

conda 是不是从使用 pip install 安装的 pypi 更新软件包?

pip freeze 和 conda list 的区别

解决用conda/pip install 安装库太慢的问题