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

如何在PyCharm中下载sklearn数据集?遇SSL证书过期错误求解

解决sklearn fetch_openml SSL证书过期问题

出现的urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1002)错误,是因为OpenML的SSL证书过期,或者本地系统的SSL证书链不完整导致验证失败。以下是几种可行的解决办法:

  • 临时禁用SSL验证(快速测试用)
    修改代码,给fetch_openml添加verify=False参数,跳过证书验证:

    from sklearn.datasets import fetch_openml
    mnist = fetch_openml('mnist_784', as_frame=False, verify=False)
    X, y = mnist.data, mnist.target
    

    注意:这个方法仅适合临时测试,跳过SSL验证会降低安全性,不建议在正式环境使用。

  • 更新本地SSL证书(推荐长期解决)
    根据你的操作系统进行操作:

    • Windows:打开「设置」→「更新和安全」→「Windows更新」,检查并安装所有可选更新,重点是证书相关的更新。
    • macOS:打开「应用程序/实用工具/钥匙串访问」,找到已过期的SSL证书删除;或者找到你安装的Python目录,运行Install Certificates.command脚本(比如路径是/Applications/Python 3.11/Install Certificates.command,替换成你的Python版本)。
    • Linux(Ubuntu/Debian):在终端执行以下命令重新安装CA证书:
      sudo apt update && sudo apt install --reinstall ca-certificates
      
  • 指定自定义CA证书路径
    如果你有可用的CA证书文件,可以在fetch_openml中指定证书路径,比如:

    mnist = fetch_openml('mnist_784', as_frame=False, verify="/path/to/your/ca-cert.pem")
    

另外,如果你使用了代理网络,检查代理设置是否拦截了SSL证书,尝试切换到直连网络再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:21:04