当前位置:   article > 正文

【Python爬虫】ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the ‘ssl‘ module is comp

importerror: urllib3 v2.0 only supports openssl 1.1.1+, currently the 'ssl

目录

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

则表示升级成功!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/137806
推荐阅读
  

闽ICP备14008679号