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

Den*_*bdy 32 conda

我发现我尝试做的时候有问题

conda update <package>
Run Code Online (Sandbox Code Playgroud)

终端输出

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
Run Code Online (Sandbox Code Playgroud)

将安装以下新软件包:

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    
Run Code Online (Sandbox Code Playgroud)

以下包将更新:

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    
Run Code Online (Sandbox Code Playgroud)

继续([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链接--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
Run Code Online (Sandbox Code Playgroud)

将安装以下新软件包:

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    
Run Code Online (Sandbox Code Playgroud)

以下包将更新:

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    
Run Code Online (Sandbox Code Playgroud)

继续([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

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

Den*_*bdy 72

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

conda config --set ssl_verify false 
Run Code Online (Sandbox Code Playgroud)

将关闭此功能,例如此处

  • 不要那样做.这是一个已经解决的老问题.你的康茄舞是最新的吗? (7认同)
  • 在更新,指定证书路径并尝试许多其他解决方案之后,我也继续看到此错误。最后,保持工作完成的唯一方法是禁用它,我*真的*不喜欢这样做。 (3认同)
  • 这不是解决方案。这使自己暴露于安全漏洞。请更新答案,以明确指出存在相关风险,并且仅应用于调试问题。 (3认同)
  • 不知道为什么要冒险转向 SSL 验证。这是为了安全,如果他们发现,您的组织将不会高兴。最终,您可能会因中间人攻击或您的组织而遭受后果。试试下面的解决方案。 (2认同)

小智 70

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

conda config --set ssl_verify <pathToYourFile>.crt
Run Code Online (Sandbox Code Playgroud)

无需禁用SSL验证.

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

ssl_verify: <pathToYourFile>.crt
Run Code Online (Sandbox Code Playgroud)

如果你离开你的组织的网络,你可以注释掉该行中.condarc有一个#并取消当您返回.

如果它仍然不起作用,请确保您使用的是最新版本curl,同时检查conda-forgeanaconda通道.

  • 哪里可以找到我的证书? (36认同)
  • 如果您的组织没有提供有关如何获取代理 CA 证书的说明,您通常可以通过在访问任何 https 站点时单击浏览器中的挂锁图标来获取副本,然后单击周围查看证书,并以 PEM 格式下载。您需要可以下载的最根证书。详细信息将因浏览器和版本而异。 (7认同)
  • 在哪里可以找到证书的路径? (6认同)
  • 这才是真正的答案.我遇到了这个问题是因为我的组织使用内部证书拦截流量.一旦我下载了他们的证书并将conda指向它,就不会再出现错误了. (5认同)
  • 它需要什么格式的证书文件? (4认同)
  • 是的,但这仅在您位于组织网络内时才有效。如果您使用的是笔记本电脑并且退出网络,它将无法工作。除了 conda 已使用的证书之外,还可以做什么来支持添加此证书? (3认同)

pet*_*ich 15

我在 Mac OS X 和 Miniconda 上遇到了同样的问题。在尝试了许多建议的解决方案数小时后,我发现我需要正确设置 Condas 环境——特别是请求环境变量——以使用我公司提供的根证书,而不是 Conda 提供的通用证书

这是我解决它的方法:

  1. 打开 Chrome,访问任何网站,单击 URL 左侧的锁定图标。单击下拉菜单中的“证书”。在下一个窗口中,您会看到一堆证书。最上面(也就是窗口中的顶行)是根证书(例如,在我的例子中是 Zscaler Root CA,你的很可能是不同的)。

在此处输入图片说明

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

您应该已经设置好了,Conda 应该可以正常工作。

  • 看起来很熟悉https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/non-standard-certs.html (3认同)

Mik*_*e T 14

这似乎对我有用:

conda remove certifi
conda install certifi
Run Code Online (Sandbox Code Playgroud)

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

conda update --all
Run Code Online (Sandbox Code Playgroud)


小智 11

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

执行此操作的指南在这里

主要步骤是:

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

  • 就是这个!将您的证书添加到 ...\Anaconda3\Lib\site-packages\certifi\cacert.pem 使其正常工作。 (2认同)
  • 如何将证书转换为.pem? (2认同)