如果我尝试执行以下python代码
import requests
data = requests.get('https://www.bbc.com')
我收到了错误信息
raise SSLError("Can't connect to HTTPS URL because the SSL "
urllib3.exceptions.SSLError: Can't connect to HTTPS URL because the SSL module is not available.
在anaconda提示符中执行相同的python代码可以正常工作。所以我找到了这个链接:模块在Anaconda提示符下工作,但在Spyder中不工作
执行stackoverflow post中给出的命令,我得到路径:C:\Users\x1\Anaconda3\python。exe
从windows 10命令行调用此路径并执行上述代码仍会引发错误。
我有一个类似的问题,运行一个python脚本作为一个计划的任务会引起这个错误(而运行脚本从Anaconda提示符或Spyder将按预期工作)。这似乎是一个权限问题。尝试以管理员身份启动Windows命令行(右键单击并以管理员身份运行)。它应该工作。
要将其作为计划任务来实现,请直接从任务中调用python并添加脚本作为第一个参数,而不是调用批处理文件,然后调用python,然后再调用脚本。
我在python3.8的虚拟环境中遇到了类似的问题(与requests模块相关的错误消息相同)。3
在windows 10
虚拟机上,没有管理员权限。我的解决方案实际上是PATH
环境变量,正如Paul Stevens在这里的回答中所述:请求(由SSLError引起(“由于SSL模块不可用,无法连接到HTTPS URL”)请求网站时出现错误。
所以我为我的用户添加了以下路径到环境变量PATH
:
>
为我的用户打开环境变量
(要访问环境变量,只需在windows搜索栏中键入环境变量
)
选择PATH
变量,然后单击编辑
添加以下路径(替换
打开一个新的命令窗口
运行脚本
然后它神奇地对我起作用了。
顺便说一句,print(sys.executable)
命令会在命令和anaconda提示符中显示相同的信息。