You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Python打包exe后的CERTIFICATE_VERIFY_FAILED错误?

解决CERTIFICATE_VERIFY_FAILED错误的方案

报错原因是重装Windows后,系统缺少目标HTTPS链接所需的根证书,或者打包exe时未包含必要的CA证书文件,导致urllib无法验证服务器证书有效性。

以下是几种可行的解决方法:

方法一:打包时包含CA证书(推荐)

  1. 找到Python环境中的CA证书文件:一般路径为Python安装目录\Lib\site-packages\certifi\cacert.pem
  2. 使用PyInstaller打包时,添加参数将证书文件打包进exe:
    pyinstaller --onefile --add-data "cacert.pem;." your_script.py
    
  3. 修改源码,让urllib使用打包后的证书文件:
    import urllib.request
    import ssl
    import os
    
    # 获取打包后证书的路径
    cert_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "cacert.pem")
    # 创建带证书的SSL上下文
    context = ssl.create_default_context(cafile=cert_path)
    
    # 用上下文发起请求
    response = urllib.request.urlopen(url, context=context)
    

方法二:临时跳过证书验证(不推荐,有安全风险)

如果只是临时应急,可以修改请求代码跳过证书验证,但这会让连接处于不安全状态:

import urllib.request
import ssl

# 创建不验证证书的上下文
context = ssl._create_unverified_context()
response = urllib.request.urlopen(url, context=context)

方法三:安装系统缺失的根证书

  1. 打开浏览器访问目标HTTPS链接
  2. 当浏览器提示证书不安全时,查看证书详情,找到根证书并下载安装到Windows系统的“受信任的根证书颁发机构”中
  3. 重启exe程序尝试运行

内容的提问来源于stack exchange,提问作者user22502482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:07:34