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

Python访问Google BigQuery遇[SSL: CERTIFICATE_VERIFY_FAILED]错误求助

解决Python连接BigQuery时的SSL证书验证失败问题

针对你遇到的[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate错误,以下是几种可行的解决办法:

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

本地Python环境可能缺少信任的根证书,尤其是企业网络环境下。可以手动指定系统的CA证书文件路径:

  1. 找到你的系统CA证书位置:
    • Windows:C:\Windows\System32\certificates\root\ca-bundle.crt(可根据实际路径调整)
    • macOS:/etc/ssl/cert.pem
    • Linux:/etc/ssl/certs/ca-certificates.crt
  2. 在代码中添加环境变量指定证书路径:
import os
from google.cloud import bigquery

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '<filename>.json'
# 替换为你的CA证书实际路径
os.environ['REQUESTS_CA_BUNDLE'] = '/path/to/your/ca-certificate.crt'

client = bigquery.Client()

sql_query = """
select *
from `<project>.<folder>.<table>`
LIMIT 50"""

query_job = client.query(sql_query)

for row in query_job.result():
  print(row)

方法2:更新certifi证书库

Python的网络请求依赖certifi提供的根证书集合,旧版本可能缺失BigQuery所需的证书:

  1. 先更新certifi:
pip install --upgrade certifi
  1. 在代码中使用certifi提供的证书路径:
import os
import certifi
from google.cloud import bigquery

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '<filename>.json'
# 使用certifi的默认证书路径
os.environ['REQUESTS_CA_BUNDLE'] = certifi.where()

client = bigquery.Client()

# 后续查询代码不变

方法3:临时禁用SSL验证(仅测试用)

注意:此方法存在安全风险,仅用于快速验证问题根源,禁止在生产环境使用

import os
import ssl
from google.cloud import bigquery

# 临时跳过SSL证书验证
ssl._create_default_https_context = ssl._create_unverified_context

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '<filename>.json'

client = bigquery.Client()

# 后续查询代码不变

额外检查项

  • 确认JSON凭证文件路径正确,本地用户有读取权限
  • 更新BigQuery客户端库到最新版本:pip install --upgrade google-cloud-bigquery

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:38:14