赞
踩
目录
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 编译的。
当前OpenSSL版本不支持现有的Urllib3
①降级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
则表示升级成功!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。