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

使用Python pvlib库获取气象数据时报SSL证书错误如何解决?

故障原因

该SSL证书验证错误是pvlib的预报模块向UCAR THREDDS服务器发起HTTPS请求时,本地Python环境的根证书列表无法匹配服务器最新SSL证书导致的,初期可用后续报错通常为服务器证书更新、本地certifi根证书包过期、Python环境缺失根证书配置三种原因。

修复方案
  • 方案1:升级根证书包(首选,无安全风险)
    先更新Python根证书管理包certifi:
    pip install --upgrade certifi
    如果你使用macOS环境下Python官网发布的安装包,还需要运行Python自带的证书安装脚本完成配置,将对应命令中的3.x替换为你实际使用的Python版本号即可:
    /Applications/Python\ 3.x/Install\ Certificates.command

  • 方案2:传入自定义SSL上下文(兼容场景广)
    如果升级证书后仍报错,可在初始化预报模型时传入自定义SSL上下文,测试场景下可临时关闭证书验证,生产环境建议替换为对应服务器的可信证书路径:

import ssl
from pvlib.forecast import GFS, HRRR_ESRL, NAM, NDFD, HRRR, RAP

# 测试用:关闭SSL验证的上下文
ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
ssl_ctx.verify_mode = ssl.CERT_NONE

fm = GFS(ssl_context=ssl_ctx)
data = fm.get_data(latitude, longitude, start, end)
  • 方案3:全局临时关闭SSL验证(应急用,不推荐长期使用)
import requests
# 关闭SSL验证告警
requests.packages.urllib3.disable_warnings()
from pvlib.forecast import GFS, HRRR_ESRL, NAM, NDFD, HRRR, RAP

fm = GFS()
data = fm.get_data(latitude, longitude, start, end, verify=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:09:00