我发现当我尝试
时出现了问题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
请告知我需要做些什么来克服这个消息!
答案 0 :(得分:58)
Conda需要知道在哪里可以找到SSL证书存储区。
conda config --set ssl_verify <pathToYourFile>.crt
无需禁用SSL验证。
此命令在Windows上的$HOME/.condarc
文件或%USERPROFILE%\.condarc
文件中添加一行,如下所示:
ssl_verify: <pathToYourFile>.crt
如果您离开了自己组织的网络,则只需在.condarc
中使用#
注释掉该行,并在返回时取消注释。
如果仍然无效,请确保您使用的是curl
的最新版本,同时检查conda-forge
和anaconda
频道。
答案 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证书,而不是通用证书。康达提供的。
这是我解决的方法:
openssl x509 -inform der -in /path/to/your/certificate.cer -out /path/to/converted/certificate.pem
export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem
.bshrs
或.zshrc
)并添加以下行:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem
。 现在退出您的终端/外壳并重新打开。再检查一遍。 应该设置好,Conda应该工作正常。
答案 4 :(得分:1)
对于我们这些使用在中间SSL解决方案中实现受信任的人的Web过滤器的公司网络,有必要将web过滤器证书添加到certifi cacert.pem 。
执行此操作的指南是here。
主要步骤是:
答案 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%,它将出现。