目录

1.问题描述:

2.问题分析:

3.问题解决:


1.问题描述:

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 版本 2.0 要求使用 OpenSSL 1.1.1 或更高版本,但当前的 Python ssl 模块是用 OpenSSL 1.0.2k-fips 编译的。

2.问题分析:

当前OpenSSL版本不支持现有的Urllib3

3.问题解决:

①降级Urllib(不推荐)

pip3 install urllib3==1.25.11 # 或者其他你认为合适的版本号

②升级 openssl(推荐)

1.安装wget

yum install -y wget

2.编译安装 openssl

wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz --no-check-certificate

tar zxf openssl-1.1.1n.tar.gz -C 指定目录

cd openssl-1.1.1n/

./config --prefix=/usr/local/openssl 设置安装目录 可以自定义 但是要记住,后面会用到

make -j && make install 编译并安装

/usr/local/openssl/lib 路径添加到系统动态库查找路径中,在 etc 目录下的 profile文件最后面添加下面这一行

export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH

 source /etc/profile        使其生效

3.重新编译安装 python

cd python安装目录

// 下面这两行如果做过了,可以不做

已经编译过的可以先 make clean 清理一下

yum install libffi-devel -y 安装 libffi-devel ,这个是为了 _ctypes 模块

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-ssl-default-suites=openssl --with-system-ffi

make -j && make install

4.检查 Python 的 ssl 模块版本:

python3.8 -c "import ssl; print(ssl.OPENSSL_VERSION)"

若为此

[root@slave1 Python-3.8.2]# python3.8 -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.1n  15 Mar 2022

则表示升级成功!!!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐