如果我尝试执行以下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代码工作正常。所以我找到了此链接:A module is working in Anaconda prompt, but not in Spyder
执行stackoverflow文章中给出的命令,我得到路径:
C:\Users\x1\Anaconda3\python.exe
从Windows 10命令行调用此路径并执行上面的代码仍然会引发错误。
答案 0 :(得分:0)
答案 1 :(得分:0)
我有一个类似的问题,在运行python脚本作为计划任务会引发此错误(而从Anaconda Prompt或从Spyder运行脚本会按预期运行)。它似乎是一个权限问题。尝试以管理员身份启动Windows命令行(右键单击并以管理员身份运行)。应该可以。
要通过计划任务来实现此目标,请先从任务中直接调用python,然后将脚本添加为第一个参数,而不是先调用批处理文件,然后再调用python和脚本。
答案 2 :(得分:0)
我在 python 3.8.3
虚拟机上的虚拟环境为 windows 10
并且没有管理员权限时遇到了类似问题(与请求模块相关的错误消息相同)。我的解决方案实际上是 PATH
环境变量,如 Paul Stevens 的回答中所述:Requests (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.") Error in PyCharm requesting website .
所以我为我的用户在环境变量 PATH
中添加了以下路径:
为我的用户打开 environment variable
(要访问环境变量,只需在 Windows 搜索栏中键入 environment variable
。)
选择 PATH
变量并点击 edit
添加以下路径(将 <path>
替换为您的实际路径,对我来说可能类似于 C:\Program Files\Anaconda3
等):
<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin
打开一个新的命令窗口
运行你的脚本
然后它神奇地为我工作。
顺便说一句,print(sys.executable)
命令会在命令和 anaconda 提示符中显示相同的信息。