macOS Monterey下pyenv安装Python3.9.0报SSL证书错误如何修复
修复macOS下pyenv安装Python时的curl自签名证书报错
问题现象
- 执行
pyenv install 3.9.0时安装失败,返回错误:BUILD FAILED (OS X 12.4 using python-build 20180424) - 日志核心报错:
curl: (60) SSL certificate problem: self signed certificate in certificate chain - 日志默认存储路径:
/var/folders/q6/k3f34wm54ns_n2q_vx0n6xt80000gn/T/python-build.20220714193417.14118.log
解决步骤
按顺序操作:
- 第一步:更新系统CA证书库
Intel芯片Mac执行:
Apple Silicon(M1/M2系列)芯片Mac执行完上面的命令后,记录下ca-certificates的安装路径,后续配置环境变量需要用到。brew install ca-certificates brew link --force ca-certificates - 第二步:配置curl和OpenSSL的证书路径环境变量
如果你用zsh(macOS 12默认shell),执行以下命令写入配置:
写完后重载配置:# Intel芯片用这个路径 echo 'export CURL_CA_BUNDLE=/usr/local/etc/ca-certificates/cert.pem' >> ~/.zshrc echo 'export SSL_CERT_FILE=/usr/local/etc/ca-certificates/cert.pem' >> ~/.zshrc # M系列芯片替换成下面的路径 # echo 'export CURL_CA_BUNDLE=/opt/homebrew/etc/ca-certificates/cert.pem' >> ~/.zshrc # echo 'export SSL_CERT_FILE=/opt/homebrew/etc/ca-certificates/cert.pem' >> ~/.zshrcsource ~/.zshrc - 第三步:排查本地拦截类工具
如果你开了Charles、Fiddler等抓包工具,或者Clash/V2Ray等代理工具开启了MITM中间人抓包功能,先临时关闭这类功能;如果是公司内网强制下发的自签名安全证书,找运维拿根证书导入系统钥匙串,设置为始终信任即可,不要直接关闭SSL校验。 - 第四步:升级pyenv到最新版本
旧版本python-build存在macOS证书路径适配bug,执行以下命令升级:brew upgrade pyenv cd $(pyenv root)/plugins/python-build && git pull - 第五步:重新执行安装命令
pyenv install 3.9.0
不建议为了绕过报错给curl加
-k参数关闭证书校验,会引入供应链攻击风险。
内容的提问来源于stack exchange,提问作者33_Dreams
相关产品推荐
相关产品推荐

