Windows 10 和 Spyder 上的 Python 错误 [SSL: CERTIFICATE_VERIFY_FAILED]
Posted
技术标签:
【中文标题】Windows 10 和 Spyder 上的 Python 错误 [SSL: CERTIFICATE_VERIFY_FAILED]【英文标题】:Python error [SSL: CERTIFICATE_VERIFY_FAILED] on Windows 10 and Spyder 【发布时间】:2022-01-18 05:33:21 【问题描述】:我上次在 2021 年 1 月运行以下代码时,在 Spyder 3.x / Windows 10 上运行正常。当我本周尝试运行它时,我遇到了许多导致这个最终错误的错误:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1056)>
在尝试解决问题的过程中,我从 Spyder 3 更新到 Spyder 5.1.5,但问题仍然存在。
我认为这是最小的可重现示例:
import urllib.request
my_url = 'https://***.com/'
html = urllib.request.urlopen(my_url).read()
print(html)
问题出在代码的第三行。 print 语句仅验证我们已经超越了这一点。它发生在某些网站上,但不是其他网站,例如如果 start_url = ***.com 会出现问题,但如果我将其设置为“https://en.wikipedia.org/wiki/Main_Page”则不会。
有趣的是,当我在 Linux 上的 Spyder 3.2.6 上运行它时,不会出现相同的代码和错误。
问题:
有什么建议吗?
背景信息
我注意到 *** 上有很多关于 [SSL: CERTIFICATE_VERIFY_FAILED] 错误的问题,但我不知道如何将他们的答案应用于我的情况。有些适用于 Mac OS 或 linux 并建议输入
[path] Install\ Certificates.command
所以我不知道如何为 Windows 10 执行此操作,更不用说如何识别路径了。鉴于 Windows 10 上的 Anaconda/Spyder 链,我还发现自己对如何安装 PIP(在某些解决方案中建议)感到困惑。
更多背景
我正在使用 Spyder IDE 5.1.5,Spyder 帮助框有关于 python 等的说明:
Python 3.7.3 64-bit | Qt 5.9.6 | PyQt5 5.9.2 | Windows 10
虽然我很惊讶,但它并没有提到我通过 Anaconda 安装了 Spyder。更令人困惑的是,当我在 windows cmd 提示符下键入“python -version”时,我得到了错误:
Python was not found; run without arguments to install from the Microsoft Store....
...这似乎很奇怪,因为 Spyder 显然可以运行其他 python 代码。
【问题讨论】:
【参考方案1】:这个问题主要是由旧的 Let's Encrypt 根证书到期带来的,因为它们已迁移到 ISRG Root X1。您可以尝试从https://letsencrypt.org/certificates/ 安装有效证书
【讨论】:
以上是关于Windows 10 和 Spyder 上的 Python 错误 [SSL: CERTIFICATE_VERIFY_FAILED]的主要内容,如果未能解决你的问题,请参考以下文章
windows spyder 运行 py 文件时出现无效语法错误
为什么Spyder 2.2.5在非py脚本上没有使用语法颜色方案?
在 Windows 10 上 Pip 安装 Spyder(无法启动)
Big Sur 上的 2019 Macbook Pro + 最新版 Spyder 上的 Pandas 导入错误