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

使用OpenAI API遇APIConnectionError:本地虚拟环境SSL证书验证失败求助

问题描述
  • OpenAI官方Python版Chat API示例代码在Google Colab可正常运行,但本地虚拟环境执行时抛出APIConnectionError: Connection error,完整错误信息:

    ConnectError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1020)

  • 使用同一API密钥,未开启VPN
  • 已尝试执行命令 /Applications/Python*/Install\ Certificates.command,无效
  • 官方curl版示例代码在本地Shell可正常运行
解决方案

以下是针对该SSL证书问题的几种可行解决方法:

方法1:指定系统CA证书路径给Python

虚拟环境可能未正确加载系统根证书,可手动指定证书路径:

  1. 找到系统CA证书文件路径:
    • macOS:/etc/ssl/cert.pem
    • Linux:/etc/ssl/certs/ca-certificates.crt
    • Windows:可通过C:\Windows\System32\certmgr.msc导出根证书,或使用certifi库的默认证书路径
  2. 在Python代码中添加环境变量配置:
    import os
    # 以macOS为例,其他系统替换对应路径
    os.environ['REQUESTS_CA_BUNDLE'] = '/etc/ssl/cert.pem'
    os.environ['SSL_CERT_FILE'] = '/etc/ssl/cert.pem'
    
    # 后续导入并使用OpenAI库
    from openai import OpenAI
    client = OpenAI(api_key="你的API密钥")
    # 编写API调用代码
    

方法2:临时禁用SSL验证(仅测试用,生产环境禁止)

若仅需临时排查问题,可初始化OpenAI客户端时关闭SSL验证:

from openai import OpenAI
import ssl

client = OpenAI(
    api_key="你的API密钥",
    http_client=OpenAI.get_default_http_client().with_ssl_context(ssl._create_unverified_context())
)

注意:此方法跳过SSL证书验证,存在安全风险,仅用于问题排查。

方法3:更新虚拟环境中的certifi库

certifi是Python处理SSL证书的常用依赖,更新它可能修复证书链问题:

pip install --upgrade certifi

更新完成后重新运行代码。

方法4:检查本地代理/防火墙设置

即使未开启VPN,本地杀毒软件的SSL拦截、内网代理也可能替换证书:

  • 临时关闭杀毒软件的SSL扫描功能
  • 检查系统代理设置,确保无自动配置的代理
  • 在Python代码中显式关闭代理:
    import os
    os.environ['NO_PROXY'] = 'api.openai.com'
    os.environ['http_proxy'] = ''
    os.environ['https_proxy'] = ''
    
    # 再初始化OpenAI客户端
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:18:25