解决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

posted @ 2025-08-27 16:06  所向披靡zz  阅读(58)  评论(0)    收藏  举报