使用Conan 2.0.4与Python 3.9.13遇SSL证书验证失败求助
解决Conan 2.0.4下载源码时SSL证书验证失败的问题
针对你遇到的SSL: CERTIFICATE_VERIFY_FAILED错误(涉及gtest/1.10.0源码下载),以下是可行的解决方法:
方法1:指定Conan使用信任的证书 bundle
Conan默认可能未正确读取系统或certifi的证书,可通过环境变量强制指定:
- RHEL 8.7:
运行以下命令临时设置,或添加到~/.bashrc永久生效:export CONAN_SSL_CA_BUNDLE=$(python -m certifi) # 也可使用系统默认证书路径 # export CONAN_SSL_CA_BUNDLE=/etc/pki/tls/certs/ca-bundle.crt - Windows 10:
- 打开命令提示符,运行
python -m certifi获取certifi证书文件路径 - 设置环境变量:
重启终端后生效setx CONAN_SSL_CA_BUNDLE "刚才获取的证书路径"
- 打开命令提示符,运行
方法2:添加自签名证书到系统信任列表
若错误源于网络中的自签名证书(如公司代理),需将证书导入系统信任:
- RHEL 8.7:
- 将自签名证书文件复制到
/etc/pki/ca-trust/source/anchors/目录 - 执行更新命令:
update-ca-trust extract
- 将自签名证书文件复制到
- Windows 10:
- 双击自签名证书文件
- 点击“安装证书”,选择“本地计算机”
- 选择“将所有证书放入下列存储”,浏览选择“受信任的根证书颁发机构”,完成导入
方法3:临时禁用SSL验证(不推荐生产环境)
仅用于测试场景,可临时关闭Conan的SSL主机验证:
conan config set general.reject_unknown_hosts=False
测试完成后建议恢复:
conan config set general.reject_unknown_hosts=True
方法4:确认Conan使用的Python环境匹配
确保Conan调用的Python与安装certifi的环境一致:
- 运行
conan --version查看Conan关联的Python版本 - 运行
python --version查看当前pip对应的Python版本 - 若版本不一致,需调整Conan的Python环境(如激活对应虚拟环境,或重新安装Conan到目标Python环境)
内容的提问来源于stack exchange,提问作者concerned_developer
相关产品推荐
相关产品推荐

