使用pyenv构建Python环境时的curl SSL证书验证失败问题
解决Ubuntu 22.04下pyenv安装Python 3.10.4时SSL证书错误的方法
1. 更新系统根证书
Ubuntu的根证书由ca-certificates包管理,可能是证书库缺失python.org的信任证书,执行以下命令重装并更新证书:
sudo apt update sudo apt install --reinstall ca-certificates sudo update-ca-certificates --fresh
完成后重新测试curl -v https://www.python.org,确认SSL验证正常后再运行pyenv install 3.10.4。
2. 手动指定curl证书路径
若更新证书后问题依旧,可通过环境变量强制curl使用系统默认证书存储:
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
设置后直接执行pyenv install 3.10.4即可。
3. 手动下载源码包后安装
绕过pyenv的自动下载流程,手动把Python源码包放到pyenv缓存目录:
- 下载源码包:
wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgz -P ~/.pyenv/cache/
- 执行安装命令(pyenv会自动读取缓存包):
pyenv install 3.10.4
4. 排查代理干扰
如果系统配置了代理,可能是代理拦截了SSL验证,临时关闭代理测试:
unset HTTP_PROXY unset HTTPS_PROXY
若此时curl https://www.python.org正常,说明需要调整代理的SSL证书配置,确保代理传递的证书被系统信任。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

