由 SSLError(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”) 引起。
- 2025-03-04 08:23:00
- admin 原创
- 97
问题描述:
我通过 Pycharm 在 Windows 上的 Python3 中使用请求,收到“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?
解决方案 1:
不知道这个问题是否已经解决,但我在 Windows 10 上使用 Anaconda python 3.7.3 和 Idle 时也遇到了类似的问题。通过添加以下内容修复了此问题:
<path>Anaconda3
<path>Anaconda3scripts
<path>Anaconda3Libraryin
到 PATH 变量。
解决方案 2:
我在 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:
Windows 用户需要设置以下路径:
..Anaconda3
..Anaconda3scripts
..Anaconda3Libraryin
每用户:
打开环境变量
点击
User Variable
如果命令提示符已打开,请关闭它并重新打开它
系统范围(需要重新启动):
打开环境变量
点击
System Variable
重启 Windows
解决方案 4:
我按照以下建议安装 OpenSSL 解决了这个问题:https://github.com/conda/conda/issues/8046#issuecomment-450515815
conda 存储库中的对应票证:https://github.com/conda/conda/issues/8046
更新:该问题(在 PyCharm 中)应该在 2019.1 版本中得到解决(早期访问预览版本已经可用https://www.jetbrains.com/pycharm/nextversion/)。
解决方案 5:
我在 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)已添加路径变量-同样的错误
在 Anaconda 中创建新环境-同样的错误
修复该问题的解决方案:
解决方案来自: https: //github.com/conda/conda/issues/8273
我已将以下文件从 Anaconda3\Library\bin 复制到 \Anaconda3\DLL
libcrypto-1_1-x64. libssl-1_1-x64.
解决方案 6:
这个问题让我抓狂,直到我发现了这篇文章,它告诉我该怎么做
brew upgrade python3
(没有使用pycharm,使用sublime)
在 macOS 10.14.6 上的 Python 3.7.4 中导入 ssl 时出错
解决方案 7:
我在安装 Windows 10 时也遇到了同样的问题。
libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
在我从复制之前,Anaconda3 无法打开 Anaconda Navigator Anaconda3Libraryin to Anaconda3DLL
。
一旦我pip
在基础环境中安装成功,它就可以正常工作,但在我创建的另一个环境中却不行。我必须在新环境中执行与上述相同的操作。
也就是说,libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
从复制<env folder>Libraryin
到<env folder>DLL
然后它就可以正常工作了。
解决方案 8:
在 Windows 10 上处理同样的问题后,解决方案相当简单:
打开 Anaconda Prompt
跑步
conda init
关闭并重新打开您想要运行代码的所有打开的 Python 解释器(PyCharm、Anaconda Prompt、cmd 等)
再次运行您的代码,它应该可以工作。我已经升级了 Anaconda 和 PyCharm,并且在所有版本组合中都遇到了问题,直到我运行了,这会添加到您的 PATH 中,就像Paul Stevensconda init
的答案一样。不要跳过 #3 — 重新启动 PyCharm 或任何其他解释器是关键。
解决方案 9:
我没有 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)
运行脚本 python3 和 python3.7,输出<Response [200]>
不是 SSLError。
解决方案 10:
如果您使用 Anaconda Prompt,则无需添加环境路径。
启动 Anaconda 提示符,转到您的目录并运行脚本或从那里启动编辑器。这将确保您处于完整的 Anaconda 环境中,并且 SSL 错误将停止。
命令提示符和 Anaconda Prompt 之间有什么区别?
请参阅此 SO 回答命令提示符和 Anaconda Prompt 之间有什么区别。
解决方案 11:
我在 Windows 10 上使用 Conda 和 Python 2.7.2 遇到了类似的问题
在尝试了很多解决方案之后,我看到了这个回应,它表明该版本中的 openssl 存在问题。
一旦我将 python 降级到 3.7.1 (build h33f27b4_4),一切都运行正常。
解决方案 12:
在花了几个小时浏览 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)
解决方案 13:
在全新安装 anaconda 后执行 pip 安装时遇到了相同的 SSL 错误。有帮助的是在执行 pip 安装之前激活基础环境。activate base
从 cmd 执行,然后运行您的 python 脚本。您也可以尝试'conda run -n base python script.py'
参考 - https://github.com/conda/conda/issues/8487
解决方案 14:
我也在队友的机器上遇到了同样的问题。通过添加 anaconda 路径解决了这个问题。在我的系统中,下面是 Anaconda 的路径:
C:ProgramDataAnaconda3Scripts
C:ProgramDataAnaconda3\nC:ProgramDataAnaconda3Libraryin
解决方案 15:
如果你使用的是pyenv
macOS,那么这可能对你有用,就像对我一样:
步骤 1:brew upgrade pyenv
第 2 步:pyenv uninstall 3.8.0
步骤3:pyenv install 3.8.0
解决方案 16:
此错误发生在使用 Python 3.7.3 的 VSCode 中,但在使用 Python 3.7.0 的 Windows 10 中的 IDLE 编辑器中运行正常。
解决方案 17:
确保您在创建项目时选择了 conda 环境选项。
我的问题通过重新创建项目并从“使用新环境”选项中选择“conda”来解决
看图片:
解决方案 18:
确保命令是在虚拟环境中运行的;这是我的错误。
解决方案 19:
我在 VS Code 中遇到了同样的问题。
解决方案是使用 Anaconda Prompt 启动 VS Code。
也就是说,运行 Anaconda Prompt,激活虚拟环境(如果您使用的话),然后输入code [working directory]
。
解决方案 20:
如果您意外使用未下载请求库的 Anaconda 虚拟环境,也会发生此错误,这是我的问题。
解决方案 21:
我在尝试从 environment.yml 文件创建 conda 环境时遇到了这个问题。结果很简单,我必须先激活基础环境:D:\my_folder> conda activate base
然后错误消失了: (base) D:\my_folder> conda env create --file environment.yml
解决方案 22:
访问网站:从开发人员工具中获得以下信息并查看标题。(右键单击-->检查。然后打开网络选项卡并检查标题)
请求网址: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()
解决方案 23:
注意:此问题已在 Windows 10 上修复,我在 Windows 10 上的虚拟环境中遇到了同样的问题。通过以管理员身份运行 CMD 并创建新的虚拟环境解决了这个问题。
以管理员身份运行cmd
创建虚拟环境(virtualenv.venv)
激活虚拟环境.venv\Scripts\activate
Pip 安装请求
解决方案 24:
通过在我的 Windows 10 中执行以下操作解决了这个问题:
mklink "C:UsershalAppDataLocalContinuumanaconda3DLLslibssl-1_1-x64.dll" "C:UsershalAppDataLocalContinuumanaconda3Libraryinlibssl-1_1-x64.dll"
mklink "C:ProgramDataAnaconda3DLLslibcrypto-1_1-x64.dll" "C:ProgramDataAnaconda3Libraryinlibcrypto-1_1-x64.dll"
解决方案 25:
我使用 VSCode 来编辑和调试,对我而言唯一有用的解决方案是在 Windows 中编辑环境变量。显然这会导致问题,但我不确定它们是什么。
从 Anaconda 提示符运行(如 sayth 所建议)对我来说不是一个选择。或者也许建议是运行 anaconda 提示符,然后从 anaconda 提示符以某种方式启动 VSCode。这听起来不像是一个合理的要求。
这似乎是一个长期存在的慢性问题,没有一个适合所有人的明确的全球性答案。
解决方案 26:
在 Windows 10 上 - 这是一种解决方法,并不能解决根本问题,但是,如果您只需要安装一些东西并继续前进;在命令提示符、powershell 或 dockerfile 下执行以下操作:
pip 配置设置 global.trusted_host “pypi.org files.pythonhosted.org”
解决方案 27:
首先出现这个错误是因为anaconda的路径没有保存在环境变量中。解决方法:
在搜索框中输入“编辑环境变量”,然后选择“编辑您帐户的环境变量”
它会打开一个模式
单击路径
然后点击下面的“编辑”
保持打开状态,然后执行其余步骤
在 Windows 搜索框中输入 Anaconda
打开文件位置
复制您看到的第一个路径
返回您在编辑变量帐户中打开的第一个模式
在此模式中单击“NEW”,然后粘贴您复制的目录路径
返回你的anaconda目录
搜索“SCRIPTS”,确保“PIP”在此脚本文件夹中,复制“脚本”目录路径
返回您打开的“编辑环境变量”模式
在此模式下单击“NEW”,然后粘贴您复制的 SCRIPTS 目录路径。
回到anaconda目录。
这次返回一步,退出 SCRIPTS 目录
在 anaconda 目录中寻找“LIBRARY”
进入 LIBRARY 并复制路径
转到您打开的“编辑环境变量”模式。
点击NEW,粘贴你复制的LIBRARY路径。
现在单击此模式上的“确定”。一直单击“确定”,直到退出
然后创建一个新的虚拟环境。
激活此虚拟环境并尝试安装您的库。
扫码咨询,免费领取项目管理大礼包!