Windows10下Pip安装任意包失败:证书验证错误求助
解决Windows 10下Pip证书验证失败问题
针对你遇到的certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)错误,结合你有两个Python环境的情况,给出以下针对性解决方案:
一、明确操作对应正确的Python版本
你有两个Python安装(官网B盘版、msys2 C盘版),所有命令请确保使用对应版本的Python执行:
- 官网版:直接用
B:\你的Python安装路径\python.exe代替命令中的python - msys2版:打开msys2终端执行命令,默认会调用msys2安装的Python
二、官网安装的Python(B盘)修复步骤
找到certifi证书文件路径
执行命令:python -c "import certifi; print(certifi.where())"会输出类似
B:\Python311\Lib\site-packages\certifi\cacert.pem的路径导出Windows系统根证书
- 按下Win+R输入
mmc打开控制台 → 点击「文件」→「添加/删除管理单元」 - 选择「证书」→「添加」→ 选「计算机账户」→ 下一步→完成→确定
- 展开「受信任的根证书颁发机构」→「证书」,找到如「DigiCert Global Root CA」这类根证书
- 右键该证书→「所有任务」→「导出」,选择「DER编码二进制X.509(.CER)」,保存为
root.cer
- 按下Win+R输入
将证书添加到certifi的证书池
- 用openssl将DER格式证书转为PEM格式(无openssl可搜索在线DER转PEM工具):
openssl x509 -inform der -in root.cer -out root.pem - 用记事本打开之前找到的
cacert.pem,把root.pem里的内容追加到文件末尾,保存后重启命令行测试pip安装
- 用openssl将DER格式证书转为PEM格式(无openssl可搜索在线DER转PEM工具):
三、msys2安装的Python(C盘)修复步骤
打开msys2终端,执行以下命令更新证书:
pacman -S ca-certificates update-ca-trust
四、临时应急方案(不推荐长期使用)
如果需要快速安装包,可以临时跳过证书验证:
- 在pip命令后添加信任参数:
python -m pip install 你的包名 --trusted-host pypi.org --trusted-host files.pythonhosted.org - 用Python脚本临时禁用验证:
创建install_temp.py文件,内容如下:
然后用对应Python版本运行:import ssl import pip ssl._create_default_https_context = ssl._create_unverified_context pip.main(['install', '你的包名'])python install_temp.py
你之前操作的错误说明
/Applications/Python\ 3.7/Install\ Certificates.command是Mac系统专属命令,Windows下无法识别,无需尝试- 直接在CMD/PowerShell输入
import ssl是错误操作,这是Python代码,需进入Python交互式环境(输入python回车)或写入.py文件运行
内容的提问来源于stack exchange,提问作者Dofke
相关产品推荐
相关产品推荐

