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

时间:2019-01-03 19:27:09

标签: 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命令行调用此路径并执行上面的代码仍然会引发错误。

3 个答案:

答案 0 :(得分:0)

  • 在管理员模式下打开Anaconda提示
  • 运行此命令conda install -c anaconda请求
  • 安装该软件包
  • 然后再次运行您的代码。现在应该可以正常工作

答案 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 中添加了以下路径:

  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 提示符中显示相同的信息。