用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


 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐