Conda更新失败:SSL错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败

时间:2015-11-13 18:33:07

标签: conda

我发现当我尝试

时出现了问题
conda update <package>

终端输出

  

conda update bokeh获取包元数据:SSL验证错误:   [SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败   (_ssl.c:590).SSL验证错误:[SSL:CERTIFICATE_VERIFY_FAILED]   证书验证失败(_ssl.c:590).SSL验证错误:[SSL:   CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590).SSL   验证错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书   验证失败(_ssl.c:590)。解决包装规格:。包   计划在环境中安装// anaconda:

     

将下载以下软件包:

package                    |            build
---------------------------|-----------------
decorator-4.0.2            |           py27_0          11 KB
ipython_genutils-0.1.0     |           py27_0          32 KB
path.py-8.1.1              |           py27_0          45 KB
pexpect-3.3                |           py27_0          60 KB
pickleshare-0.5            |           py27_0           8 KB
simplegeneric-0.8.1        |           py27_0           6 KB
traitlets-4.0.0            |           py27_0          88 KB
ipython-4.0.0              |           py27_0         916 KB
jinja2-2.8                 |           py27_0         263 KB
tornado-4.2.1              |           py27_0         515 KB
bokeh-0.9.3                |       np19py27_0        14.3 MB
------------------------------------------------------------
                                       Total:        16.2 MB
     

将安装以下新软件包:

ipython_genutils: 0.1.0-py27_0    
path.py:          8.1.1-py27_0    
pexpect:          3.3-py27_0      
pickleshare:      0.5-py27_0      
simplegeneric:    0.8.1-py27_0    
traitlets:        4.0.0-py27_0    
     

以下软件包将更新:

bokeh:            0.9.0-np19py27_0 --> 0.9.3-np19py27_0
decorator:        3.4.2-py27_0     --> 4.0.2-py27_0    
ipython:          3.2.0-py27_0     --> 4.0.0-py27_0    
jinja2:           2.7.3-py27_1     --> 2.8-py27_0      
tornado:          4.2-py27_0       --> 4.2.1-py27_0    
     

继续([y] / n)? ÿ

     

获取包裹...无法连接   https://repo.continuum.io/pkgs/free/osx-64/decorator-4.0.2-py27_0.tar.bz2   错误:连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书   验证失败(_ssl.c:590):   https://repo.continuum.io/pkgs/free/osx-64/decorator-4.0.2-py27_0.tar.bz2

     

dendisuhubdy:finalproject dendisuhubdy $ brew link --force openssl   链接/usr/local/Cellar/openssl/1.0.2d_1 ...创建了1548个符号链接   dendisuhubdy:finalproject dendisuhubdy $ conda update bokeh提取   包元数据:SSL验证错误:[SSL:   CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590).SSL   验证错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书   验证失败(_ssl.c:590).SSL验证错误:[SSL:   CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:590).SSL   验证错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书   验证失败(_ssl.c:590)。解决包装规格:。包   计划在环境中安装// anaconda:

     

将下载以下软件包:

package                    |            build
---------------------------|-----------------
decorator-4.0.2            |           py27_0          11 KB
ipython_genutils-0.1.0     |           py27_0          32 KB
path.py-8.1.1              |           py27_0          45 KB
pexpect-3.3                |           py27_0          60 KB
pickleshare-0.5            |           py27_0           8 KB
simplegeneric-0.8.1        |           py27_0           6 KB
traitlets-4.0.0            |           py27_0          88 KB
ipython-4.0.0              |           py27_0         916 KB
jinja2-2.8                 |           py27_0         263 KB
tornado-4.2.1              |           py27_0         515 KB
bokeh-0.9.3                |       np19py27_0        14.3 MB
------------------------------------------------------------
                                       Total:        16.2 MB
     

将安装以下新软件包:

ipython_genutils: 0.1.0-py27_0    
path.py:          8.1.1-py27_0    
pexpect:          3.3-py27_0      
pickleshare:      0.5-py27_0      
simplegeneric:    0.8.1-py27_0    
traitlets:        4.0.0-py27_0    
     

以下软件包将更新:

bokeh:            0.9.0-np19py27_0 --> 0.9.3-np19py27_0
decorator:        3.4.2-py27_0     --> 4.0.2-py27_0    
ipython:          3.2.0-py27_0     --> 4.0.0-py27_0    
jinja2:           2.7.3-py27_1     --> 2.8-py27_0      
tornado:          4.2-py27_0       --> 4.2.1-py27_0    
     

继续([y] / n)? ÿ

     

获取包裹...无法连接   https://repo.continuum.io/pkgs/free/osx-64/decorator-4.0.2-py27_0.tar.bz2   错误:连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书   验证失败(_ssl.c:590):   https://repo.continuum.io/pkgs/free/osx-64/decorator-4.0.2-py27_0.tar.bz2

请告知我需要做些什么来克服这个消息!

9 个答案:

答案 0 :(得分:58)

Conda需要知道在哪里可以找到SSL证书存储区。

conda config --set ssl_verify <pathToYourFile>.crt

无需禁用SSL验证。

此命令在Windows上的$HOME/.condarc文件或%USERPROFILE%\.condarc文件中添加一行,如下所示:

ssl_verify: <pathToYourFile>.crt

如果您离开了自己组织的网络,则只需在.condarc中使用#注释掉该行,并在返回时取消注释。

如果仍然无效,请确保您使用的是curl的最新版本,同时检查conda-forgeanaconda频道。

答案 1 :(得分:56)

根据@jreback https://github.com/conda/conda/issues/1166

conda config --set ssl_verify false 

将关闭此功能,例如here

答案 2 :(得分:12)

这似乎对我有用:

conda remove certifi
conda install certifi

然后你可以做任何你想做的事情,例如

conda update --all

答案 3 :(得分:4)

在Mac OS X和Miniconda上,我也遇到了同样的问题。在尝试了许多建议的解决方案几个小时之后,我发现我需要正确设置Condas环境-特别是requests环境变量-以使用我公司提供的Root证书,而不是通用证书。康达提供的。

这是我解决的方法:

  1. 打开Chrome,转到任何网站,然后单击URL左侧的锁定图标。点击下拉菜单中的“证书”。在下一个窗口中,您将看到一堆证书。最上面的(窗口中的第一行)是根证书(例如,在我的情况下,Zscaler Root CA,您的证书很可能是另一个)。

enter image description here

  1. 打开Mac OS钥匙串,单击“证书”,然后从众多证书中选择刚确定的根证书。将此导出到您选择的任何文件夹中。
  2. 使用openssl转换此证书:openssl x509 -inform der -in /path/to/your/certificate.cer -out /path/to/converted/certificate.pem
  3. 要进行快速检查,请设置外壳以确认证书:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem
  4. 永久设置此项,请打开您的外壳配置文件(.bshrs.zshrc)并添加以下行:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem现在退出您的终端/外壳并重新打开。再检查一遍。

应该设置好,Conda应该工作正常。

答案 4 :(得分:1)

对于我们这些使用在中间SSL解决方案中实现受信任的人的Web过滤器的公司网络,有必要将web过滤器证书添加到certifi cacert.pem

执行此操作的指南是here

主要步骤是:

  1. 使用浏览器连接到https网站
  2. 查看并保存根证书
  3. 将证书转换为 .pem
  4. 复制并粘贴到现有 cacert.pem
  5. 的末尾
  6. 保存
  7. SSL幸福

答案 5 :(得分:0)

感谢这里的答案以及整个SO中的其他六个问题,当您处于具有自签名证书颁发机构的公司代理的背后时,我就设置pip和conda(和Git)撰写了详尽的答案

How to add a custom CA Root certificate to the CA Store used by Python in Windows?

答案 6 :(得分:0)

对于每个在此问题上苦苦挣扎的人,您只需要升级openssl安装。我正在运行Windows 10,安装了最新的anaconda 64位,并在尝试使用“ conda”或“ pip”安装/升级任何内容时收到此错误。如果我卸载64位anaconda并安装32位,则可以正常工作。 我为Windows安装了64位版本的openssl,版本1.1.0。我卸载了该文件,并安装了最新的文件,可以在这里找到:https://slproweb.com/products/Win32OpenSSL.html-可以使用的是1.1.1的64位版本。现在,我可以通过pip和conda成功安装软件包了。 希望这会有所帮助。

答案 7 :(得分:0)

该SSL错误具有误导性。我正在使用Anaconda 3,conda版本4.6.11,在Windows 10实例上具有最新版本的openssl。通过将Anaconda3文件夹上的安全设置更改为“完全控制”,我解决了问题。 认为这没有帮助,但是我还修改了.. \ Anaconda3 \ Lib \ site-packages \ certifi \ cacert.pem文件以包含公司的SSL证书。

希望此信息对您有所帮助。

答案 8 :(得分:0)

经过2个小时的网上冲浪最后,对我来说,此问题已通过以下方法解决:创建了一个文件夹pip,该文件带有文件:C:\ Users <用户名> \ AppData \ Roaming \例如:

C:\Users\<username>\AppData\Roaming\pip\pip.ini

我在里面写道:

[global]
trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org

我重新启动python,然后pip永久信任这些站点,并使用它们从中下载软件包。

如果在Windows上找不到AppData文件夹,请在文件资源管理器中写入%appdata%,它将出现。

来源:pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"