ChatGPT解决这个技术问题 Extra ChatGPT

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

通过 Pycharm 在 Python3 Windows 中使用请求,并接收 SSL Module Not Available 错误

我花了几个小时试图找出可能导致这种情况的原因。我已经重新安装了 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有点陌生,所以感谢您的耐心等待。 -

从 OpenSSL 安装此 slproweb.com/download/Win64OpenSSL-1_1_1c.exe。解决了我的问题。
链接坏了。

P
Paul Stevens

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

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

到 PATH 变量。


虽然不知道为什么我们必须导出多个路径,但它对我有用,谢谢。
这对我有用!不是“execstack ...”cmd,而是这个!添加 path/anaconda3/library/bin 对我有用
不确定我们必须如何/在哪里添加这 3 条路径?
Alex - 将这些项目添加到 PATH 环境变量中(例如,请参阅下面的 Mukesh Methaniya/Neuron 答案)
我必须在哪里添加这些路径?我正在尝试使用 python get-pip.py 从特定文件夹运行 python 代码
M
Matt Dnv

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

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

我引用:

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

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

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

它是一种魅力! "


对我来说,所有东西的版本都是一样的。具有 3.7.4 的 Windows 10 Miniconda。使用此解决方案修复。
N
Neuron

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

..\Anaconda3

..\Anaconda3\脚本

..\Anaconda3\库\bin

每个用户:

打开环境变量单击用户变量如果已打开并重新打开它,请关闭命令提示符

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

打开环境变量点击系统变量重启Windows


你在哪里设置路径?添加“新”,然后为每个 Anaconda3 文件夹创建路径?
F
François B.

我通过根据以下建议安装 OpenSSL 解决了这个问题:https://github.com/conda/conda/issues/8046#issuecomment-450515815

conda 存储库中的相应票证:https://github.com/conda/conda/issues/8046

更新:该问题(在 PyCharm 中)应该在 2019.1 版本中得到解决(Early Access Preview 版本已经可用https://www.jetbrains.com/pycharm/nextversion/)。


b
blah blah

这个问题让我发疯,直到我发现这篇说要做的帖子

brew upgrade python3 

(不使用pycharm,使用sublime)

Error when importing ssl in Python 3.7.4 on macOS 10.14.6


d
dhina karan

我在 2020 年 4 月面对它。这些是我尝试过的选项,最后一个解决方案让我通过了。

问题:

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

我厌倦了 Veify=True, False ,也厌倦了 Certs。同样的错误。删除了 Certifi - conda remove certifi - 没有工作 更新了 openssl , certifi - 仍然是同样的错误(参考:https://github.com/ContinuumIO/anaconda-issues/issues/494) 添加了路径变量 - 相同的错误 Created new environment in Anaconda - 同样的错误

修复它的解决方案:

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

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

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


这对我也有用!感谢您完成所有调试步骤 :)
我添加了这么多环境变量,安装了 OpenSSL 的东西,但没有任何效果......直到我尝试了你的最后一个解决方案。 :)))
c
codeherk

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

冲泡卸载python3

brew install python3 收到一条错误消息,指出您的 Xcode (10.2) 太过时了。请更新到 Xcode 11.3(或删除它)。 Xcode 可以从 App Store 更新。**所以,我删除了 Xcode,因为不会显示更新,然后我重新安装了它。之后运行 xcode-select --install 。如果你不这样做..你会得到一个错误:以下公式 python 不能作为二进制包安装,必须从源代码构建。安装命令行工具:xcode-select --install

收到一条错误消息,指出您的 Xcode (10.2) 太过时了。请更新到 Xcode 11.3(或删除它)。 Xcode 可以从 App Store 更新。**所以,我删除了 Xcode,因为不会显示更新,然后我重新安装了它。

之后运行 xcode-select --install 。如果你不这样做..你会得到一个错误:以下公式 python 不能作为二进制包安装,必须从源代码构建。安装命令行工具:xcode-select --install

运行 brew install python3 并成功完成。

使用此脚本只是为了查看它是否有效

import requests
r = requests.get('https://www.office.com')
print(r)

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


T
Thirumal

我在安装 Windows 10 时遇到了同样的问题。

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

一旦我在基本环境中安装了 pip 就可以正常工作,但在我创建的另一个环境中却不行。我必须在新环境中执行与上述相同的操作。

也就是说,将 libcrypto-1_1-x64.dll and libssl-1_1-x64.dll\<env folder>\Library\bin 复制到 \<env folder>\DLL 然后它工作正常。


s
sayth

如果使用 Anaconda Prompt,则无需添加环境路径。

启动 Anaconda 提示更改到您的目录并运行您的脚本或从那里启动您的编辑器。这将确保您处于完整的 Anaconda 环境中,并且 SSL 错误将停止。

命令提示符和 Anaconda 提示符有什么区别?请参阅 what is the difference between command prompt and anaconda prompt 的这个 SO 回答。


k
kevinmicke

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

打开 Anaconda Prompt 运行 conda init 关闭并重新打开您要运行代码的任何打开的 Python 解释器(PyCharm、Anaconda Prompt、cmd 等)

再次运行您的代码,它应该可以工作。我已经升级了 Anaconda 和 PyCharm,并且在运行 conda init 之前遇到了所有版本组合的问题,这很像来自 Paul Stevens 的答案。不要跳过#3——重新启动 PyCharm 或任何其他解释器是关键。


非常感谢你! VSCode 刚刚在我的机器上完成了它的每月自动更新,突然这个问题出现了,你的解决方案完美运行 :)
h
harryrobbins

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

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

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


z
zwessels

在花了几个小时浏览 Anaconda 文档、Github 问题单等之后,我终于设法让它在 Windows 10 64 位(Anaconda 3.7)上运行。它对我有用的是从 https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe 安装 Win64 OpenSSL v1.1.1d 二进制文件。

注意:版本似乎很重要!我已经尝试过 1.1.0L(如其他评论和回复中所建议的那样),但在这个版本中,问题仍然存在。如果您在安装一些 OpenSSL 库后仍然遇到问题,请继续尝试,直到找到正确的版本。对于 Windows 10 上的 Anaconda 3.7,似乎正确的是 1.1.1d。我没有尝试精简版。

对我不起作用的事情:

按照 Anaconda 故障排除 (https://docs.conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl-connection-errors)。激活环境并按照他们所说的去做根本没有帮助。

将 ssl_verify 选项更改为 False

使用“添加到路径”选项安装 Anaconda 3

手动将 libcrypto 和 libssl DLL 复制到不同的位置(请参阅 https://github.com/conda/conda/issues/8273#issue-409800067)


N
NemoMeMeliorEst

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

请求网址:http://www.msft.com/

请求方法:GET

状态码:200 OK

远程地址: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()

m
msr

在全新安装 anaconda 后执行 pip 安装时遇到相同的 SSL 错误。有什么帮助是在进行 pip 安装之前激活基础环境。从 cmd 执行 activate base,然后运行您的 python 脚本。您也可以尝试 'conda run -n base python script.py' 参考 - https://github.com/conda/conda/issues/8487


e
ebeb

此错误发生在带有 Python 3.7.3 的 VSCode 中,但在带有 Python 3.7.0 的 Windows 10 的 IDLE 编辑器中工作正常。


C
Caconde

确保创建项目时选择了 conda environment 选项。

通过重新创建项目并从“使用新环境”选项中选择“conda”解决了我的问题

看图片:

https://i.stack.imgur.com/JTLGD.png


只需要 Add Interpreter 然后选择 existing environnement 就可以了。无需重新创建项目。
i
itaishz

我的队友机器也面临同样的问题。修复了添加 anaconda 路径的问题。在我的系统中,下面是 Anaconda 的路径:

C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\
C:\ProgramData\Anaconda3\Library\bin

6
6infinity8

确保命令是从虚拟环境中运行的;那是我的错误。


D
Denziloe

我在 VS Code 中遇到了同样的问题。

解决方案是使用 Anaconda Prompt 启动 VS Code。

也就是说,运行 Anaconda Prompt,如果您正在使用虚拟环境,请激活您的虚拟环境,然后输入 code [working directory]


V
Vikas Sharma

注意:此问题已在 Windows 10 上修复 我在 Windows 10 上的虚拟环境中遇到了同样的问题。问题已通过以管理员身份运行 CMD 并创建新的虚拟环境来解决。

以管理员身份运行cmd

创建虚拟环境(virtualenv .venv)

激活虚拟环境 .venv\Scripts\activate

Pip 安装请求


Y
Yaakov Bressler

通过在我的 Windows 10 中执行以下操作来解决:

mklink "C:\Users\hal\AppData\Local\Continuum\anaconda3\DLLs\libssl-1_1-x64.dll" "C:\Users\hal\AppData\Local\Continuum\anaconda3\Library\bin\libssl-1_1-x64.dll"

mklink "C:\ProgramData\Anaconda3\DLLs\libcrypto-1_1-x64.dll" "C:\ProgramData\Anaconda3\Library\bin\libcrypto-1_1-x64.dll"

u
user2556468

我使用 VSCode 进行编辑和调试,唯一对我有用的解决方案是在 windows 中编辑环境变量。显然这会导致问题,但我不确定它们是什么。

从 Anaconda 提示符运行(如 sayth 所建议的那样)对我来说不是一个选择。或者也许建议是运行 anaconda 提示符,然后从 anaconda 提示符以某种方式启动 VSCode。听起来不是一个合理的要求。

这似乎是一个长期存在的长期问题,没有适用于所有人的明确全球答案。


不确定“不合理的请求”是什么意思,但实际上这通常是避免奇怪错误的好习惯,它也解决了这个错误。这并不难,只需在提示符中输入 code 即可启动 VS Code。
L
Lawrence Patrick

在 Windows 10 上 - 这是一种解决方法,但不能解决根本问题,但如果您只需要安装一些东西并继续前进;在命令提示符、powershell 或 dockerfile 执行以下命令:

pip 配置集 global.trusted_host “pypi.org files.pythonhosted.org”


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅