Requests (Caused by SSLError(“Can't connect to HTTPS URL because the SSL module is not available.”) Error in PyCharm requesting website
在Python3 Windows中通过Pycharm使用请求,并收到SSL模块不可用错误
我已经花费了数小时试图找出可能导致这种情况的原因。我已经重新安装了Anaconda,但我完全卡住了。运行以下
时
1 2 3 4 5 | def Earlybird(daycount): url = 'https://msft.com' response = requests.get(url) print(response) Earlybird() |
我收到错误
1 2 3 | 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有点陌生,因此感谢您的耐心配合。 -
尚不知道此问题是否已解决,但我在Windows 10上遇到了Anaconda python 3.7.3和Idle的类似问题,并添加了以下内容:
1 2 3 | <path>\\Anaconda3 <path>\\Anaconda3\\scripts <path>\\Anaconda3\\Library\\bin |
到PATH变量。
我在Windows 10上,在python 3.7.4上全新安装了Anaconda时遇到了问题,github上的帖子解决了我的问题:
(来源:https://github.com/conda/conda/issues/8273)
我引用:
"
我的解决方法:
我已复制以下文件
1 2 | libcrypto-1_1-x64.* libssl-1_1-x64.* |
从D:\\\\ Anaconda3 \\\\ Library \\\\ bin到D:\\\\ Anaconda3 \\\\ DLLs。
它的魅力!
"
Windows用户需要设置以下路径:
-
..\\Anaconda3 -
..\\Anaconda3\\scripts -
..\\Anaconda3\\Library\\bin
每位用户:
系统范围(需要重新启动):
我通过按照以下建议安装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/)。
我已经从此处安装了二进制文件:https://slproweb.com/products/Win32OpenSSL.html
OpenSSL官方Wiki中提到了此站点。它解决了我的问题
这个问题使我发疯,直到我发现这篇文章说要做
1 | brew upgrade python3 |
(不使用pycharm,使用崇高)
在macOS 10.14.6上的Python 3.7.4中导入ssl时出错
我没有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 并成功完成。
使用此脚本只是为了查看它是否有效
1 2 3 | import requests r = requests.get('https://www.office.com') print(r) |
运行脚本python3和python3.7,输出为
我在04/2020遇到了它。这些是我尝试过的选项,最后的解决方案可以帮助我解决问题。
问题:
当我在Spyder IDE中使用时,
Requests模块工作正常,但是当我尝试在Windows中执行脚本时,它失败并显示SSL错误。对于HTTP请求,它工作正常,但对于HTTPS请求,我遇到SSL错误。
https://github.com/ContinuumIO/anaconda-issues/issues/494)添加
水蟒-同样的错误
解决方案:
解决方案来自:https://github.com/conda/conda/issues/8273
我已将以下文件从Anaconda3 \\\\ Library \\\\ bin复制到\\\\ Anaconda3 \\\\ DLL
libcrypto-1_1-x64。*
libssl-1_1-x64。*
我在Windows 10上使用Conda和Python 2.7.2遇到了类似的问题
尝试了许多解决方案后,我遇到了此响应,这表明该版本中的openssl存在问题。
一旦我将python降级到3.7.1(内部版本h33f27b4_4),一切都可以正常工作。
如果使用Anaconda Prompt,则无需向环境添加路径。
启动Anaconda提示更改到目录并运行脚本或从此处启动编辑器。这将确保您处于完整的Anaconda环境中,并且SSL错误将停止。
命令提示符和Anaconda Prompt有什么区别?
请参阅此SO答案,以了解命令提示符和anaconda提示符之间的区别。
花了几个小时浏览了Anaconda文档,Github发行票等等之后,我终于设法在64位Windows 10(Anaconda 3.7)上运行了它。它对我有用的是从https://slproweb.com/download/Win64OpenSSL-1_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/zh/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)
在全新安装anaconda之后执行pip安装时遇到相同的SSL错误。有用的是在执行pip安装之前激活了基本环境。
从cmd执行
在Windows 10安装中我有同样的事情。
在我从
一旦我在基本环境中安装了
也就是说,将
在Windows 10上处理相同的问题后,解决方案非常简单:
再次运行您的代码,它应该可以工作。我已经升级了Anaconda和PyCharm,并在使用版本
确保在创建项目时选择了conda环境选项。
通过重新创建项目并从"使用新环境"选项中选择" conda"解决了我的问题
查看图片:
我的队友机器也面临相同的问题。修复了添加anaconda路径的问题。在我的系统中,下面是Anaconda的路径:
1 2 3 | C:\\ProgramData\\Anaconda3\\Scripts C:\\ProgramData\\Anaconda3\\ C:\\ProgramData\\Anaconda3\\Library\\bin |
访问网站:向我提供了以下来自开发人员工具的信息并查看了标头。 (右键单击->检查。然后打开"网络"标签并检查标题)
- 要求网址:http://www.msft.com/
- 请求方法:GET
- 状态码:200 OK
- 远程地址:205.178.189.130:80
- 推荐人政策:降级时无推荐人
所以我们看到我们需要执行对HTTP的请求,而不是HTTPS。
1 2 3 4 5 6 7 8 9 10 | import requests def Earlybird(): url = 'http://msft.com/' response = requests.get(url) print(response.text) if __name__ == '__main__': Earlybird() |
我使用VSCode进行编辑和调试,唯一对我有用的解决方案是在Windows中编辑环境变量。显然,这会导致问题,但我不确定它们是什么。
在Anaconda提示符下运行(如sayth所建议)对我来说不是一种选择。或建议是运行anaconda提示符,然后从anaconda提示符中以某种方式启动VSCode。听起来不合理。
这似乎是一个长期存在的长期问题,没有一个对每个人都有效的明确的全球答案。
通过在Windows 10中执行以下操作来解决:
1 2 3 | 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" |
注意:此问题已在Windows 10上修复
我在Windows 10上遇到虚拟环境的相同问题。
通过以管理员身份运行CMD并创建新的虚拟环境,解决了该问题。
- 以管理员身份运行cmd
- 创建虚拟环境(virtualenv .venv)
- 激活虚拟环境.venv \\\\ Scripts \\\\ activate
- 点安装请求
此错误在使用Python 3.7.3的VSCode中发生,但在使用Python 3.7.0的Windows 10中的IDLE编辑器中可以正常使用。
在Windows 10上-这是一种解决方法,但是如果您只需要安装某些东西并继续前进,则无法解决根本问题。在命令提示符,powershell或dockerfile上执行以下命令:
pip配置设置global.trusted_host" pypi.org files.pythonhosted.org"
根据此处的说明重新安装python为我解决了此问题:
如何使用自制软件在macOS中安装Python 3的早期版本?
我使用https://slproweb.com/products/Win32OpenSSL.html
上的此" Win64 OpenSSL v1.1.1h"-> EXE
我已经安装并运行了