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

Fra*_*rin 35 python ssl https pycharm python-requests

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

我花了几个小时试图弄清楚是什么原因造成的。我已经重新安装了Anaconda,并且完全卡住了。运行以下内容时

def Earlybird(daycount):
    url = 'https://msft.com'
    response = requests.get(url)
    print(response)
Earlybird()
Run Code Online (Sandbox Code Playgroud)

我收到错误

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."))
Run Code Online (Sandbox Code Playgroud)

我不知道是什么原因造成的。由于Anaconda是最新安装的软件,因此我认为一切都是最新的,因此我不确定这是否指向错误的SSL吗?我对python有点陌生,因此感谢您的耐心配合。--

小智 57

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

<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin
Run Code Online (Sandbox Code Playgroud)

到PATH变量。

  • 不确定如何/在哪里添加这 3 个路径? (4认同)
  • 这对我有用!不是“execstack ...”cmd,而是这个!添加 path/anaconda3/library/bin 对我有用 (3认同)

Mat*_*Dnv 44

我在 Windows 10 上,我在 python 3.7.4 上全新安装 Anaconda 时遇到了问题,github 上的这篇文章解决了我的问题:

(来源:https : //github.com/conda/conda/issues/8273

我引用:

" 我的解决方法:我已经复制了以下文件

libcrypto-1_1-x64.*
libssl-1_1-x64.*
Run Code Online (Sandbox Code Playgroud)

从 D:\Anaconda3\Library\bin 到 D:\Anaconda3\DLLs。

它是一种魅力!”

  • 对我来说一切都是相同的版本。Windows 10 Miniconda 版本为 3.7.4。用此解决方案修复。 (4认同)

Muk*_*iya 17

Windows 用户需要设置以下路径:

  • ..\Anaconda3
  • ..\Anaconda3\scripts
  • ..\Anaconda3\Library\bin

每个用户:

  1. 打开环境变量
  2. 点击 User Variable
  3. 如果已经打开,请关闭命令提示符并重新打开它

系统范围(需要重新启动)

  1. 打开环境变量
  2. 点击 System Variable
  3. 重新启动 Windows


Pav*_*eev 11

我通过按照以下建议安装OpenSSL来解决了该问题:https : //github.com/conda/conda/issues/8046#issuecomment-450515815

康达回购中的相应票证:https : //github.com/conda/conda/issues/8046

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


bla*_*lah 10

这个问题让我发疯,直到我发现这篇文章说要做

brew upgrade python3 
Run Code Online (Sandbox Code Playgroud)

(不使用pycharm,使用sublime)

在 macOS 10.14.6 上的 Python 3.7.4 中导入 ssl 时出错


小智 9

我的 Windows 10 安装也有同样的情况。

libcrypto-1_1-x64.dll and libssl-1_1-x64.dll在我从. 复制之前,Anaconda3 不会打开 Anaconda Navigator Anaconda3\Library\bin to \Anaconda3\DLL

一旦我pip在基本环境中完成安装,效果就很好,但在我创建的另一个环境中则不然。在新环境下我也必须做同样的事情。

也就是说,libcrypto-1_1-x64.dll and libssl-1_1-x64.dll从复制\<env folder>\Library\bin\<env folder>\DLL那时效果很好。


Sid*_*dhu 8

我已经从此处安装了二进制文件:https : //slproweb.com/products/Win32OpenSSL.html 官方OpenSSL Wiki上提到了此站点。它解决了我的问题


kev*_*cke 7

在 Windows 10 上处理相同的问题后,解决方案相当简单:

\n
    \n
  1. 打开 Anaconda 提示符
  2. \n
  3. 跑步conda init
  4. \n
  5. 关闭并重新打开要运行代码的所有打开的 Python 解释器(PyCharm、Anaconda Prompt、cmd 等)
  6. \n
\n

再次运行您的代码,它应该可以工作。我已经升级了 Anaconda 和 PyCharm,并且在运行之前遇到了所有版本组合的问题,这会添加到您的 PATH 中,就像Paul Stevensconda init的答案一样。不要跳过#3\xe2\x80\x94重新启动 PyCharm 或任何其他解释器是关键。

\n


cod*_*erk 5

我没有 Anaconda,所以我采取的步骤是:

  • brew uninstall python3
  • brew install python3
    • 收到一条错误消息,指出Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store.**因此,我删除了 Xcode,因为不会显示任何更新,然后我重新安装了它。
    • 追了过去xcode-select --install。如果你不......你会得到一个错误:The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
  • 运行brew install python3并成功完成。

使用这个脚本只是为了看看它是否有效

import requests
r = requests.get('https://www.office.com')
print(r)
Run Code Online (Sandbox Code Playgroud)

运行脚本 python3 和 python3.7,输出<Response [200]>不是 SSLError。


小智 5

我在 04/2020 遇到了它。这些是我尝试过的选项,最后一个解决方案让我通过。

问题:

当我在 Spyder IDE 中使用时,请求模块工作正常,但是当我尝试在 Windows 中执行脚本时,它因 SSL 错误而失败。它适用于 HTTP 请求,但对于 HTTPS 请求,我收到 SSL 错误。

  1. 我厌倦了 Veify=True, False ,也厌倦了证书。同样的错误
  2. 删除了证书 - conda remove certifi -不起作用 更新
  3. openssl , certifi -仍然是同样的错误(参考:https : //github.com/ContinuumIO/anaconda-issues/issues/494)添加
  4. 路径变量 -同样的错误
  5. 在 Anaconda 中创建新环境 -同样的错误

修复它的解决方案:

解决方案来自:https : //github.com/conda/conda/issues/8273

我已将以下文件从 Anaconda3\Library\bin 复制到 \Anaconda3\DLL

libcrypto-1_1-x64.* libssl-1_1-x64.*

  • 这对我也有用!感谢您完成所有调试步骤:) (2认同)

Nem*_*Est 0

访问网站:为我提供来自开发人员工具的以下信息并查看标题。(右键单击 --> 检查。然后打开网络选项卡并检查标头)

  • 请求网址: http: //www.msft.com/
  • 请求方式:GET
  • 状态码:200 正常
  • 远程地址:205.178.189.130:80
  • 推荐人政策:降级时无推荐人

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

import requests


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

if __name__ == '__main__':
    Earlybird()
Run Code Online (Sandbox Code Playgroud)