如果我尝试执行以下 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 命令行调用此路径并执行上面的代码仍然会引发错误。
最佳答案
我在 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 提示符中向我显示相同的信息。
关于Python 模块请求在 anaconda 提示符下工作,但在 Windows 10 命令行中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028609/