VSCode普通Python窗口设置verify=False后requests仍报SSLError,Jupyter正常
问题原因
核心报错Can't connect to HTTPS URL because the SSL module is not available指向Python本身的SSL模块缺失,和你加的verify=False参数无关,该参数仅跳过证书合法性校验,无法解决SSL模块本身不存在的问题。具体触发原因如下:
- VSCode普通运行窗口和Jupyter Notebook使用的Python解释器不一致:Jupyter绑定的是完整编译了SSL模块的Python环境,普通运行窗口调用的是未编译SSL模块、或底层OpenSSL依赖缺失的精简Python版本,Windows下常见于便携式Python、自行删减过组件的Python安装包。
- 同一解释器下的依赖损坏:如果确认两个场景用的是同一个Python,可能是该环境下的OpenSSL依赖、requests配套的urllib3库损坏,导致SSL模块无法正常加载。
解决方法
- 对齐Python解释器
首先分别在Jupyter Notebook和你要运行的Python脚本中加入以下代码,获取解释器路径:
如果两个路径不一致,点击VSCode右下角的Python版本号,选择和Jupyter环境完全相同的解释器即可解决问题。import sys print(sys.executable) - 修复Python的SSL依赖
如果确认解释器路径一致:- 标准Python环境:去Python官网下载对应版本的完整安装包,覆盖安装当前Python,安装时勾选「Add Python to PATH」选项,安装过程会自动补全缺失的SSL组件。
- Conda虚拟环境:直接运行
conda install openssl即可修复损坏的SSL依赖。
- 临时测试方案(不建议长期使用)
若仅需临时验证代码逻辑,可将请求地址的https改为http,前提是目标站点支持HTTP协议访问,可绕开SSL模块调用。
内容的提问来源于stack exchange,提问作者brenorb
相关产品推荐
相关产品推荐

