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多个。当然,我们用的时候肯定不用这个默认的远程仓库,都替换成国内的阿里源、清华源了。

2.可装包范围不同

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

3.依赖处理的逻辑不同

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

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

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

二、conda和pip换源的方法

2.1 conda

方法(一):更改一下 `.condarc`这个配置文件(文件在用户目录下,我的在C:\Users\DELL\.condarc),永久性配置镜像源(清华源)。更改后内容如下:

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
ssl_verify: true

更改完成后,在命令行输入以下命令完成配置的更新:

conda config --set show_channel_urls yes

PS: 阿里云镜像这样换:anaconda镜像-anaconda下载地址-anaconda安装教程-阿里巴巴开源镜像站阿里巴巴开源镜像站为您提供免费的anaconda下载地址及anaconda安装教程,anaconda镜像简介:阿里巴巴开源镜像站icon-default.png?t=N7T8https://developer.aliyun.com/mirror/anaconda 

方法(二):在命令行进行永久性配置镜像源,其实就是将上面的源用下面的命令一条条手动add进去(这里以阿里源为例)

conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/msys2
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/r

conda config --set show_channel_urls yes

退出虚拟环境再进入,然后用

conda config --get channels

命令查看,之前通过配置文件加入的源还在。

并且发现配置文件自动发生改动了:

。。。
。。。
。。。
。。。

方法(三)暂时换源

conda install --channel https://地址 opencv3

 2.2 pip

注意,如果使用的是Python2版本,如果虚拟环境中没有先安装pip,就执行pip命令的话,会把包安装在默认路径中:

如何用pip指令将python包安装到虚拟环境中_pip安装到虚拟环境_无水先生的博客-CSDN博客

所以在Python2我们一旦创建好一个虚拟环境后,就要执行conda install pip命令先下载一个pip,用虚拟环境中的pip安装的包才会放在虚拟环境中!

pip安装的依赖不在虚拟环境中_玛丽莲茼蒿的博客-CSDN博客

但是如果是Python3的话自带pip,就不要再conda install pip安装!不然会冲突,导致pip命令不管安装什么包都会报这个错误:

ERROR: Could not find a version that satisfies the requirement xxx (from versions: none)
ERROR: No matching distribution found for xxx

方法(一):通过更改配置文件pip.ini永久性换源。

Python随笔:设置Windows的pip镜像配置文件 pip.ini_集电极的博客-CSDN博客_pip.iniPython随笔:设置Windows的pip镜像配置文件 pip.ini1. 前言首先来看看有什么 pip 镜像地址清华 https://pypi.tuna.tsinghua.edu.cn/simple豆瓣 http://pypi.douban.com/simple/阿里 http://mirrors.aliyun.com/pypi/simple/有这三个镜像就足够了。2.配置 pip.ini 文件步骤一:在文件资源器软件的路径框输入 %APPDATA% 回车步骤二:在Rohttps://blog.csdn.net/qq_38463737/article/details/107780440?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164603397416780271542046%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164603397416780271542046&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_ulrmf~default~default-5-107780440.pc_search_insert_ulrmf&utm_term=pip.ini&spm=1018.2226.3001.4187

方法(二)屡试不爽的暂时换源!!!!!!!!!!!

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

假如你要安装的包叫matplotlib,那么输入的完整命令应该是

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

 我觉得阿里云的镜像比较好用,基本上不太刁钻的包都能马上安装好,所以给的这条命令里用的是阿里云的镜像。如果阿里云这个channel不行的话可以换清华源镜像试一下。

  • 20
    点赞
  • 126
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值