Python pip突然停止工作,它给出了 SSL: CERTIFICATE_VERIFY_FAILED 错误 .
我无法安装任何pip包 .
sudo pip install scikit-image 正在抛出以下错误
重试(重试(总计= 0,连接=无,读取=无,重定向=无,状态=无))连接被“SSLError”破坏后(SSLError(1,u'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl . c:590)'),)':/ simple / scikit-image /无法获取URL https://pypi.python.org/simple/scikit-image/:确认ssl证书时出现问题:HTTPSConnectionPool(host ='pypi.python.org',port = 443):使用url超出最大重试次数:/ simple / scikit-image /(由SSLError引起(SSLError(1,u'[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c :590)'),)) - 跳过
我尝试使用 easy_install
,但它给出了相同的SSL错误 .
当我尝试使用wget下载5GB的zip文件时,下载的文件大小以KB为单位
有人可以建议上述问题的解决方案 .
谢谢
1 回答
它可能与PyPI域的recent change有关 . 如果您从代理/防火墙后面运行pip,请确保它允许访问/来自:
pypi.org
files.pythonhosted.org
此外,您还可以尝试以下方法:
$ python -m pip <command> --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org ... --proxy ...
变更公告:
https://pyfound.blogspot.com/2018/03/warehouse-all-new-pypi-is-now-in-beta.html
https://pyfound.blogspot.com/2017/01/time-to-upgrade-your-python-tls-v12.html
https://pip.pypa.io/en/stable/news/
在极少数情况下,如果您的机器确实存在证书问题,则pip使用urllib3库来获取SSL certificate verification和根证书 . 最后,如果使用
-vvv
verbose选项运行pip会显示tlsv1 alert protocol version
错误,该错误在another thread中得到解决 .顺便说一句,与apt不同,使用
sudo pip
运行pip install
命令来安装/升级python包是not recommended . 如果真的需要在系统范围内安装Python模块,而不是在默认的Python安装中而不是在隔离的virtualenv中,在Ubuntu中你应该使用apt包管理器 . 有许多(不是全部)python包,包括scikit - 只需使用$ apt search
(与旧的$ apt-cache search
相同)来查找它,$ apt show
用于包描述,而$ sudo apt install
用于安装 .