关于anaconda环境conda/pip install 报SSL错误问题(有两种情况)

当anaconda环境下,安装/更新 python包(conda/pip install package)出现如下错误:

An HTTP error occurred when trying to retrieve this URL.HTTP errors are often intermittent, and a simple retry will get you on your way.SSLError(MaxRetryError('HTTPSConnectionPool(host=\'conda.anaconda.org\', port=443): Max retries exceeded with url: /bioconda/linux-64/repodata.json (Caused by SSLError("Can\'t connect to HTTPS URL because the SSL module is not available.",))',),)

此错误,在Ubuntu、windows、mac等都可能出现,很多解决方案归咎为不能访问官网镜像问题,其实有两个问题会报上面错误,所以解决方法也分为两种:

解决方法一:镜像问题

将其设置为国内(清华大学)

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
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/pkgs/free/
conda config --set show_channel_urls yes

以上脚本,是修改 ~/.condarc 文件的 channels 配置,因此你也可以直接打开该文件进行设置(上面操作等同于下面两步骤操作):

windows在 C:\Users\你的电脑名\.condarc
@xsx 评论提到,若仍出现SSLError,https替换http;
替换前移除此前加入的镜像源(重置):conda config --remove-key channels

打开 ~/.condarc 文件,将

channels:
  - default
show_channel_urls: flase

修改为:

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
show_channel_urls: true

设置完成。


若需换回默认官网镜像源

$ conda config --remove-key channels

如果需要代理,在 ~/.condarc 加入如下代码

proxy_servers:
    http: http://127.0.0.1:9001
    https: https://127.0.0.1:9001
注意 http: 与下一个 http: 需要空格,首个 http: 对齐去其他相同,需要两个空格,参考点击 此处


解决方法二:环境变量问题

如果安装 报开头的错误,那么很可能是此问题,而 问题一 是请求超时,在等待相当一段时间才报错;

参考解决方案

解决方案描述如下:

%CONDA_HOME% was set to /path/to/Anaconda3

And "%CONDA_HOME%" as well as "%CONDA_HOME%\Scripts" was added before.

To overcome the error, I had to add "%CONDA_HOME%\Library\bin" to path.

Now it works perfectly

解决方案很简单,就是增加几个 anaconda路径,在系统变量path加入 anaconda路径

D:\anaconda3
D:\anaconda3\Scripts
D:\anaconda3\Library\bin
D:\anaconda3 anaconda 安装路径

编辑于 2020-06-01 14:04