繁体   English   中英

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

[英]Python module requests working in anaconda prompt but not in windows 10 command line

如果我尝试执行以下 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 命令行调用此路径并执行上面的代码仍然会引发错误。

  • 在管理员模式下打开 Anaconda Prompt
  • 运行这个命令 conda install -c anaconda requests
  • 安装那个包
  • 然后再次运行您的代码。 现在应该可以使用了

我有一个类似的问题,将 python 脚本作为计划任务运行会引发此错误(而从 Anaconda Prompt 或 Spyder 运行脚本会按预期工作)。 这似乎是一个权限问题。 尝试以管理员身份启动 Windows 命令行(右键单击并以管理员身份运行)。 它应该工作。

要将其作为计划任务实现,而不是调用批处理文件,然后调用 python 和脚本,直接从任务调用 python 并将脚本添加为第一个参数。

我在windows 10虚拟机上的python 3.8.3虚拟环境中遇到了类似的问题(与请求模块相关的相同错误消息)并且没有管理员权限。 对我来说,解决方案实际上是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 提示符中显示相同的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM