请求(由SSLError引起(“无法连接到HTTPS URL,因为SSL模块不可用。”)PyCharm请求网站出错

问题描述 投票:11回答:6

通过Pycharm在Python3 Windows中使用请求,并接收SSL模块不可用错误

我花了好几个小时试图找出导致这种情况的原因。我重新安装了Anaconda,我完全卡住了。运行以下时

def Earlybird(daycount):
    url = 'https://msft.com'
    response = requests.get(url)
    print(response)
Earlybird()

我收到错误

requests.exceptions.SSLError: HTTPSConnectionPool(host='msft.com', 
port=443): Max retries exceeded with url: / (Caused by SSLError("Can't 
connect to HTTPS URL because the SSL module is not available."))

我不知道是什么原因引起的。由于Anaconda是最近安装的,我会假设一切都是最新的,所以我不确定这是否指向错误的SSL?我对python有点新意,感谢您的耐心等待。 -

python ssl https python-requests pycharm
6个回答
37
投票

不知道这是否已经解决,但我在Anaconda python 3.7.3和Idle上遇到了类似的问题。通过添加以下内容修复了它:

<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin

到PATH变量。


11
投票

我根据以下推荐安装了OpenSSL解决了问题:https://github.com/conda/conda/issues/8046#issuecomment-450515815

conda repo中的相应票:https://github.com/conda/conda/issues/8046

更新:问题(在PyCharm中)应该在2019.1版本中解决(早期访问预览版本已经可用https://www.jetbrains.com/pycharm/nextversion/)。


8
投票

我从这里安装了二进制文件:https://slproweb.com/products/Win32OpenSSL.html这个站点在OpenSSL官方维基上提到。它解决了我的问题


3
投票

从OpenSSL安装了这个https://slproweb.com/download/Win64OpenSSL-1_1_1c.exe。解决了我的问题。


2
投票

设置在路径下方。(这适用于窗口用户)

  • “\ Anaconda3”
  • “\ Anaconda3 \脚本”
  • “\ Anaconda3 \库\ BIN”

在环境变量=>用户变量和关闭命令提示符(如果已打开)并再次打开它。

要么

如果您有多个用户,则环境变量=>系统变量。如果将它们添加到系统变量中,则必须重新启动系统。


0
投票

访问网站:从开发人员工具中获取以下信息并查看标题。 (右键单击 - >检查。然后打开网络选项卡并检查标题)

  • 请求网址:http://www.msft.com/
  • 请求方法:GET
  • 状态代码:200 OK
  • 远程地址:205.178.189.130:80
  • 推荐人政策:no-referrer-when-downgrade

所以我们看到我们需要对HTTP执行请求,而不是HTTPS。

import requests


def Earlybird():
    url = 'http://msft.com/'
    response = requests.get(url)
    print(response.text)

if __name__ == '__main__':
    Earlybird()

0
投票

我在使用Conda和Python 2.7.2的Windows 10上遇到了类似的问题

在尝试了很多很多解决方案后,我遇到了this response,这表明openssl在该版本中存在问题。

一旦我将python降级到3.7.1(构建h33f27b4_4),一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.