admin管理员组文章数量:1651582
零、前言
在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/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
ssl_verify: true
更改完成后,在命令行输入以下命令完成配置的更新:
conda config --set show_channel_urls yes
PS: 阿里云镜像这样换:anaconda镜像-anaconda下载地址-anaconda安装教程-阿里巴巴开源镜像站阿里巴巴开源镜像站为您提供免费的anaconda下载地址及anaconda安装教程,anaconda镜像简介:阿里巴巴开源镜像站https://developer.aliyun/mirror/anaconda
方法(二):在命令行进行永久性配置镜像源,其实就是将上面的源用下面的命令一条条手动add进去(这里以阿里源为例)
conda config --add channels https://mirrors.aliyun/anaconda/pkgs/free
conda config --add channels https://mirrors.aliyun/anaconda/pkgs/main
conda config --add channels https://mirrors.aliyun/anaconda/pkgs/msys2
conda config --add channels https://mirrors.aliyun/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/simple豆瓣 http://pypi.douban/simple/阿里 http://mirrors.aliyun/pypi/simple/有这三个镜像就足够了。2.配置 pip.ini 文件步骤一:在文件资源器软件的路径框输入 %APPDATA% 回车步骤二:在Rohttps://blog.csdn/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/pypi/simple 包名
假如你要安装的包叫matplotlib,那么输入的完整命令应该是
pip install -i https://mirrors.aliyun/pypi/simple matplotlib
我觉得阿里云的镜像比较好用,基本上不太刁钻的包都能马上安装好,所以给的这条命令里用的是阿里云的镜像。如果阿里云这个channel不行的话可以换清华源镜像试一下。
版权声明:本文标题:conda install 和 pip 的区别 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729564729a1206447.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论