Python 模块请求在 anaconda 提示符下工作,但在 Windows 10 命令行中不工作

标签 python python-3.x

如果我尝试执行以下 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中添加了以下路径对于我的用户:

  1. 打开 environment variable对于我的用户(要访问环境变量,只需在 Windows 搜索栏中键入 environment variable。)

  2. 选择 PATH变量和点击 edit

  3. 添加以下路径(将 <path> 替换为您的实际路径,对我来说它类似于 C:\Program Files\Anaconda3 等):

    • <path>\Anaconda3
    • <path>\Anaconda3\scripts
    • <path>\Anaconda3\Library\bin
  4. 打开一个新的命令窗口

  5. 运行你的脚本

然后它对我神奇地起作用了。

顺便说一句 print(sys.executable)命令会在命令和 anaconda 提示符中向我显示相同的信息。

关于Python 模块请求在 anaconda 提示符下工作,但在 Windows 10 命令行中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028609/

相关文章:

python - Python结构模式匹配中如何区分元组和列表?

python - 为什么 Python 描述符适用于类级别属性而不适用于实例级别属性

python - Python字典理解中的多重赋值

python-3.x - python 中的 3d 弯曲箭头

python - 如何调试 python click cli 应用程序?

python - 将大图像保存在另一个线程中

python-3.x - keras中的增量学习

python - 如何动态添加/删除元素中的元素?

python - pandas.DataFrame.replace() 得到 "OverflowError: Python int too large to convert to C long"

python - 继承 dict 的 python 类的 getters/setters