首页 > 系统相关 >Linux学习36- python3.9出现ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+

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

时间:2023-12-11 11:45:12浏览次数:31  
标签:1.1 lib ImportError urllib3 openssl usr supports python3.9

遇到问题

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/

标签:1.1,lib,ImportError,urllib3,openssl,usr,supports,python3.9
From: https://www.cnblogs.com/yoyoketang/p/17894034.html

相关文章

  • OSCP(扩展篇靶机SickOS1.1)
    第一步:nmap和niktonikto:https://zhuanlan.zhihu.com/p/124246499 8080http-proxy我们是利用3128查看nikto是否存在可利用的漏洞nikto-h192.168.107.148--useproxy192.168.107.148:3128扫描目标时,部分目标部署了防护设备,为避免暴露ip可以使用代理进行扫描,nikto支持......
  • VS2019编译PCL1.11.1源码
    最近在使用PCL的体素滤波器进行点云降采样时,遇到了 Leafsizeistoosmallfortheinputdataset的报错,出于某些原因,并不想简单的增大Leafsize来解决这个问题。尝试修改了PCL的源码,但是很可惜,对源码的改动并不能直接应用到我的项目中,于是只能被迫对PCL的sourcecode进行......
  • 文心一言 VS 讯飞星火 VS chatgpt (129)-- 算法导论11.1 4题
    四、用go语言,我们希望在一个非常大的数组上,通过利用直接寻址的方式来实现一个字典。开始时该数组中可能包含一些无用信息,但要对整个数组进行初始化是不太实际的,因为该数组的规模太大。请给出在大数组上实现直接寻址字典的方案。每个存储对象占用O(1)空间;SEARCH、INSERT和DELETE操......
  • pydantic.errors.PydanticImportError,'pydantic:compiled' 在 Pydantic 版本 2 中已被
    今天编译python程序时pyinstaller-F--version-filefile_version_info.txtMelliferaCMD.py收到错误:58759INFO:Loadingmodulehook'hook-pydantic.py'from'D:\\env\\fbt\\Lib\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks&......
  • OpenCV4.1.0与CUDAcuda_10.1.105联合进行图像特征点提取和特征匹配时,运行程序时错误提
    问题描述:OpenCV4.1.0与CUDAcuda_10.1.105联合进行图像特征点提取和特征匹配时,运行程序时错误提示:无法定位程序输入点?createBFMatchercv@DescriptorMatcher@cuda@cv......于动态链接库......,如下图所示:解决办法:如果include、lib和dll的路径都配置正确的话,可以尝试将编译好的带......
  • 大二快乐日记11.1
    JavaScript作为一种客户端脚本语言,可以在浏览器中实现输入验证判断,以保证用户输入的数据符合预期的格式和要求。下面介绍几种实现输入验证判断的方法。表单验证表单验证是最常用的输入验证方法之一。通过在表单元素上添加验证规则,比如必填项、格式限制等,可以在用户提交表单之前......
  • 1.10 05:分数线划定
    原题错误代码:#include<bits/stdc++.h>usingnamespacestd;structperson{intk;ints;}a[10001];boolcmp(personl,personb){if(l.s==b.s){if(l.k<l.s){returnfalse;}else{return......
  • 文心一言 VS 讯飞星火 VS chatgpt (126)-- 算法导论11.1 1题
    一、用go语言,假设一动态集合S用一个长度为m的直接寻址表T来表示。请给出一个查找S中最大元素的过程。你所给的过程在最坏情况下的运行时间是多少?文心一言,代码正常运行:在这个问题中,我们需要实现一个查找动态集合S中最大元素的算法,该动态集合使用一个长度为m的直接寻址表T......
  • day10 动态Jenkins-Slave解决方案-发布流程设计 (4.1.1-4.2)
    一、动态Jenkins-Slave解决方案上1、基于Jenkins的Master-Slave模式实现CI-CD1.1痛点梳理构建任务高峰期,Jenkins服务频发不可用状态服务虚拟机资源有限,不能随意调用空闲资源Jenkins服务器宕机后需要人工手动重启1.2思路分析基于K8S动态Slave模式优势基于云原生现......
  • 1、ImportError: cannot import name 'soft_unicode' from 'markupsafe'解决;2、Import
    不知做了啥操作,spyder和jupyter同时打不开(我印象中啥也没做),出现闪了一下后没反应,不知道报错在哪里。1、先解决spyder的报错:ImportError:cannotimportname'soft_unicode'from'markupsafe'于是我打开Anaconda,找到Spyder点击launch,报错如下:Traceback(mostrecentcallla......