用conda 安装某个包或者安装某个虚拟环境,会报CondaHTTPError和SSLError。如下图:
首先查看pip源是否更改过,建议使用国内的清华源,会更快。可以直接在/Users/username/.condrac 文件中更改,也可以通过以下命令添加(注意这里都是https):
# 清华源——仓库
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 清华源——第三方源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-lts
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2s
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
如果源已经更改过,依然有图一的错误。仔细分析:
发现是HTTP协议错误,在检索这个URL也就是网址的时候发生错误,这里有一个SSL错误,SSL是https相对于http新增的握手协议,它建立在可靠的传输协议之上,也就是为了安全找想,那么我们直接用http协议不就好啦,将上述 .condrac 中的所有https 改为http也就是如下:
channels:
- defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
注意:源的优先级自上而下
!!!!!总结:
如果/Users/username/.condrac 文件中 如果有 ssl_verify: true 这句话,那么就用https协议,这是安全认证的一种协议,https访问更为安全。
如果报错的话,就把s去掉,使用 http开头的网址,将ssl_verify: true 这句话删除或者改为ssl_verify: false
或者直接命令行更改:
conda config --set ssl_verify false