Linux学习36- python3.9出现ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+

遇到问题

python3.9上安装requests 库,requests包引入了urllib3,而新版本v2.x的urllib3 需要OpenSSL 1.1.1+以上版本

所以就出现了报错

复制代码
  File "/root/python39/lib/python3.9/site-packages/_pytest/assertion/rewrite.py", line 186, in exec_module
    exec(co, module.__dict__)
  File "/root/python39/lib/python3.9/site-packages/pytest_yaml_yoyo/plugin.py", line 6, in <module>
    from requests.adapters import HTTPAdapter
  File "/root/python39/lib/python3.9/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/root/python39/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
ImportError: urllib3 v2 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

因为我们通过yum安装的openssl-devel版本是1.0.2k

复制代码
# yum install openssl-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Package 1:openssl-devel-1.0.2k-26.el7_9.x86_64 already installed and latest version
Nothing to do

解决问题

解决办法有2种:

第一种是降级urllib3版本即可

复制代码
pip3 uninstall urllib3
pip3 install urllib3==1.22

这样也就避免了版本冲突问题

第二种办法是升级OpenSSL 1.1.1+以上版本,此方法稍微复杂一些了

复制代码
wget --no-check-certificate   https://www.openssl.org/source/openssl-1.1.1t.tar.gz
tar -zxvf openssl-1.1.1t.tar.gz
cd openssl-1.1.1t/
./config --prefix=/usr/local/my_openssl
make
make install

安装完成后添加软链接

复制代码
tar -zxf ./my_openssl.tar.gz -C /usr/local

mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/my_openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/my_openssl/lib/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/my_openssl/lib/libcrypto.so.1.1  /usr/lib64/
相关推荐
巴巴媛666几秒前
STM32学习笔记【32.BKP + RTC】
笔记·stm32·学习
jieyucx17 分钟前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
威联通安全存储34 分钟前
SMT表面贴装线AOI检测网中TS-h2287XU-RP混合架构的物理部署
python·架构
大鱼>39 分钟前
Scikit-learn Pipeline:构建可复用的 ML 流水线
python·机器学习·scikit-learn
闲猫42 分钟前
深入理解 Skills:从 API 调用到智能体行为封装
人工智能·python·langchain
还是鼠鼠1 小时前
AI掘金头条新闻系统 (Toutiao News)-缓存相关推荐新闻
后端·python·mysql·fastapi·web
骑士雄师1 小时前
大模型:runnable
python·embedding
2401_868534781 小时前
系统分析师案例分析题常考知识点
python·计算机网络
AOwhisky1 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭2 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408