解决urllib3与OpenSSL版本冲突
1、关于urllib3 v2.0仅支持OpenSSL 1.1.1+的解决方案
问题:运行python代码时提示如
[root@ py]# python3 test.py Traceback (most recent call last): File "test.py", line 1, in <module> import urllib3 File "/usr/local/lib/python3.7/site-packages/urllib3/__init__.py", line 42, in <module> "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently " ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips 26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
错误原因分析:
您正在尝试使用urllib3 v2.0
但您的系统OpenSSL版本是1.1.0i
urllib3 v2.0要求最低OpenSSL版本为1.1.1+
解决方案
1、确认当前系统的OpenSSL版本:
在Windows上,您可以通过命令行工具来检查OpenSSL的版本。打开命令提示符(CMD)或PowerShell,输入以下命令:
openssl version
如果系统提示找不到openssl命令,可能需要先安装OpenSSL,或者将OpenSSL的安装路径添加到系统的环境变量中。
2、升级OpenSSL至1.1.1或更高版本:
如果当前OpenSSL版本低于1.1.1,您需要下载并安装一个更高版本的OpenSSL。您可以从OpenSSL官网下载适用于Windows的安装包,并按照安装向导进行安装。安装完成后,确保OpenSSL的安装路径已添加到系统的环境变量中。
3、确认已安装的urllib3版本:
在Python环境中,您可以通过以下命令来查看已安装的urllib3版本:
import urllib3
print(urllib3.__version__)
4、更新urllib3到与OpenSSL 1.1.1+兼容的版本:
如果urllib3的版本过高导致与OpenSSL版本不兼容,您可以通过pip来安装一个较低版本的urllib3。例如,安装1.26.6版本:
pip3 install urllib3==1.26.6
【在Pycharm python的编程中,该问题的解决,我是通过将urllib3的版本降至1.26.6 来解决问题的】
或者,如果您确定需要使用最新版本的urllib3,并且已经升级了OpenSSL到1.1.1或更高版本,您可以尝试重新安装最新版本的urllib3:
pip3 install --upgrade urllib3
重新运行之前出错的代码:
在完成上述步骤后,重新运行之前出错的代码,以验证问题是否已经解决。
如果上述步骤仍然无法解决问题,您可能需要检查您的Python环境配置,或者考虑在虚拟环境中重新配置您的项目,以避免与其他库或系统组件的冲突。
原文链接:https://blog.csdn.net/taobaty/article/details/150619159