Ubuntu 16.04下Python pip突发SSL: CERTIFICATE_VERIFY_FAILED报错求助
嘿,这个SSL证书验证失败的坑我之前踩过好几次,给你几个实用的解决办法,你可以一个个试过来:
解决pip SSL: CERTIFICATE_VERIFY_FAILED错误的方法
1. 临时跳过SSL验证(应急用,不推荐长期使用)
如果只是急着安装包,可以给pip命令加几个参数跳过证书检查。比如你要装scikit-image的话,运行:
sudo pip install scikit-image --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org
旧版pip也可以用更简单的--no-verify-ssl参数:
sudo pip install scikit-image --no-verify-ssl
注意:这个方法会绕开安全验证,有被恶意包攻击的风险,只适合临时救急,别一直用!
2. 更新pip和系统证书库
很多时候是因为pip版本太旧,或者系统根证书过期导致的。先把pip本身更到最新:
sudo pip install --upgrade pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org
然后更新系统的证书库,不同系统命令不一样:
- Ubuntu/Debian系:
sudo apt-get update && sudo apt-get install --reinstall ca-certificates
- CentOS/RHEL系:
sudo yum update ca-certificates
- macOS:
如果你用的是Python官方安装包,直接运行安装目录里的Install Certificates.command脚本就行,或者手动敲命令(把3.x换成你的Python版本):
/Applications/Python\ 3.x/Install\ Certificates.command
3. 切换到国内PyPI镜像源
国内的镜像源(比如清华、阿里云)不仅下载速度快,还很少出现证书问题。临时指定源安装的话:
sudo pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple
要是想长期用这个源,就创建个pip配置文件:
- Linux/macOS用户:在用户目录下建
.pip文件夹,然后写配置:
mkdir -p ~/.pip echo "[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple" > ~/.pip/pip.conf
- Windows用户:在
C:\Users\你的用户名\pip目录下新建pip.ini文件,内容和上面一样。
4. 检查系统时间是否正确
这个真的很容易被忽略!如果系统时间和实际时间差太多,SSL证书的有效期验证会直接失败。先看看当前时间:
date
要是时间不对,开自动同步就行:
- Ubuntu/Debian:
sudo timedatectl set-ntp on
- macOS:打开系统偏好设置→日期与时间,勾选“自动设置日期与时间”
- Windows:右键任务栏时间→调整日期/时间,开启“自动设置时间”
5. 检查代理设置
如果你正在用代理,可能是代理的证书有问题。先关掉代理再试试:
unset HTTP_PROXY HTTPS_PROXY
要是是系统级代理,就去系统设置里暂时关闭后再运行pip命令。
内容的提问来源于stack exchange,提问作者Aishwarya
相关产品推荐
相关产品推荐

