访问api.wandb.ai报SSLError及MaxRetryError,安装相关依赖未解决
Wandb SSL连接异常排查方案
报错信息汇总:
- 顶层报错:requests.exceptions.SSLError: HTTPSConnectionPool(host='api.wandb.ai', port=443)
- 底层错误:ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:749)
- 后续异常:urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.wandb.ai', port=443): Max retries exceeded with url: /graphql (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:749)'),))
1. 网络层排查
- 先测试公网连通性,执行命令:
curl -v https://api.wandb.ai,如果curl也返回SSL错误,优先排查网络环境问题:- 确认是否开启了终端代理,部分代理工具对HTTPS握手的转发存在兼容问题,可临时关闭代理后重试
- 检查防火墙、网关规则是否拦截了wandb域名的HTTPS请求,公司/校园网的SSL中间人劫持也会触发该报错
- 若在中国大陆地区使用,可先尝试开启wandb离线模式验证功能是否正常,初始化时添加参数:
wandb.init(mode="offline"),训练结束后再手动同步数据即可
2. SSL兼容层排查
- 确认当前环境的OpenSSL版本支持TLS1.2及以上,执行以下代码验证:
import ssl print(ssl.OPENSSL_VERSION) # 无报错抛出即支持TLS1.2 print(ssl.PROTOCOL_TLSv1_2)
如果不支持TLS1.2,需要升级系统OpenSSL依赖或Python版本
- 临时关闭SSL验证排查证书问题,执行命令设置环境变量:
export WANDB_SSL_VERIFY=false,如果设置后可正常连接,说明是本地根证书信任链问题,可执行命令升级证书依赖:pip install --upgrade certifi,也可手动指定证书路径:export REQUESTS_CA_BUNDLE=/path/to/your/cacert.pem
3. 客户端配置排查
- 升级wandb客户端到最新正式版:
pip install --upgrade wandb,旧版本客户端存在SSL连接的已知bug - 重置本地wandb配置重新登录:
wandb login --relogin,重新输入API密钥后再运行任务测试
内容的提问来源于stack exchange,提问作者a piece of cheese
相关产品推荐
相关产品推荐

