Python机器学习项目SSL证书过期错误求助(Windows10+Python3.10.8)
解决Machine Learning for Kids SSL证书过期导致的API访问错误
针对你在Windows10+Python3.10.8环境下遇到的ssl.SSLCertVerificationError证书过期错误,提供以下几种可行的解决方法:
1. 更新Python的根证书库
Python依赖certifi库管理SSL根证书,旧版本的certifi可能包含过期证书:
- 打开命令提示符,执行升级命令:
pip install --upgrade certifi - 如果升级后问题依旧,手动替换证书文件:
找到Python安装路径下的Lib\site-packages\certifi\cacert.pem,将其替换为最新的根证书文件(可从certifi官方维护的证书集合获取)。
2. 临时跳过SSL验证(仅用于测试)
如果只是临时调试项目,可修改mlforkids.py中调用urllib的代码,添加忽略SSL验证的逻辑:
import ssl import urllib.request # 在发起请求前创建未验证的SSL上下文 context = ssl._create_unverified_context() # 替换原有的urlopen调用 response = urllib.request.urlopen(api_url, context=context)
⚠️ 注意:此方法会绕过SSL安全验证,禁止在生产环境使用,仅作为临时测试方案。
3. 更新Windows系统根证书
系统级的根证书过期也可能导致Python的SSL验证失败:
- 打开控制面板,进入「Internet选项」→「内容」→「证书」
- 切换到「受信任的根证书颁发机构」标签,删除已过期的证书
- 点击「导入」,添加最新的根证书文件;或通过Windows更新安装系统推送的证书补丁。
4. 确认平台API证书状态
偶尔可能是Machine Learning for Kids平台的API证书本身过期,可通过浏览器访问API地址,查看证书详情确认有效性。如果是平台端问题,需等待平台方更新证书。
内容的提问来源于stack exchange,提问作者Pratham S. Gorawala
相关产品推荐
相关产品推荐

