侧边栏壁纸
博主头像
聆尘风博主等级

欲买桂花同载酒,终不似,少年游

  • 累计撰写 56 篇文章
  • 累计创建 17 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

解决python中OpenSSL、urllib3、six以及requests库冲突

聆尘风
2024-05-05 / 0 评论 / 0 点赞 / 8 阅读 / 6442 字

python中OpenSSL、urllib3、six以及requests库冲突

最开始原因是因为OpenSSL版本不支持,由于关联的解释器版本问题,链接了OpenSSL版本问题

Traceback (most recent call last): File "D:\Project\PythonProject\pythonProject\PaChong\MyTestRequests\花语.py", line 1, 
in <module> import requests File "C:\Project\Python3.7\lib\site-packages\requests\__init__.py", line 43, 
in <module> import urllib3 File "C:\Project\Python3.7\lib\site-packages\urllib3\__init__.py", line 43, 
in <module> "urllib3 v2 only supports OpenSSL 1.1.1+, currently " 
ImportError: urllib3 v2 only supports OpenSSL 1.1.1+,
currently the 'ssl' module is compiled with 'OpenSSL 1.1.0h 27 Mar 2018'. See: https://github.com/urllib3/urllib3/issues/2168

然后我去OpenSSL官网下载了压缩包进行了解压和配置环境变量发现还是不行,重新卸载安装urllib3、six以及requests库还是不行,只能从新建虚拟环境下手。

PS C:\Project\Python3.12> openssl version
OpenSSL 3.2.1 30 Jan 2024 (Library: OpenSSL 3.2.1 30 Jan 2024)

以下是我的个人解决经历:


先新建一个虚拟环境

python -m venv pachong # 创建新的虚拟环境

然后进入虚拟环境目录,激活虚拟环境

.\pachong\Scripts\activate # 激活虚拟环境 
pip install requests urllib3==1.26.7 # 安装requests 和指定urlib3版本

验证重新安装后,清除缓存

pip cache purge

再次检查库版本

pip list

重新更新urllib3库版本

pip install --upgrade urllib3

再重新启动代码,以下是详细过程:

PS D:\Project\PythonProject> python -m venv pachong 
PS D:\Project\PythonProject> cd .\pachong\ 
PS D:\Project\PythonProject\pachong> .\Scripts\activate
(pachong) PS D:\Project\PythonProject\pachong> pip install requests urllib3==1.25.11 six==1.15.0 Requirement already satisfied: requests in d:\project\pythonproject\pachong\lib\site-packages (2.31.0) Collecting urllib3==1.25.11 Using cached urllib3-1.25.11-py2.py3-none-any.whl.metadata (41 kB) Collecting six==1.15.0 Downloading six-1.15.0-py2.py3-none-any.whl.metadata (1.8 kB) Requirement already satisfied: charset-normalizer<4,>=2 in d:\project\pythonproject\pachong\lib\site-packages (from requests) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in d:\project\pythonproject\pachong\lib\site-packages (from requests) (3.7) Requirement already satisfied: certifi>=2017.4.17 in d:\project\pythonproject\pachong\lib\site-packages (from requests) (2024.2.2) Using cached urllib3-1.25.11-py2.py3-none-any.whl (127 kB) Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Installing collected packages: urllib3, six Attempting uninstall: urllib3 Found existing installation: urllib3 2.2.1 Uninstalling urllib3-2.2.1: Successfully uninstalled urllib3-2.2.1 Successfully installed six-1.15.0 urllib3-1.25.11 
(pachong) PS D:\Project\PythonProject\pachong> pip cache purge Files removed: 231 
(pachong) PS D:\Project\PythonProject\pachong> pip list Package Version ------------------ -------- certifi 2024.2.2 charset-normalizer 3.3.2 idna 3.7 pip 24.0 requests 2.31.0 six 1.15.0 urllib3 1.25.11 
(pachong) PS D:\Project\PythonProject\pachong> python .\PaChong\MyTestRequests\花语.py Traceback (most recent call last): File 
"D:\Project\PythonProject\pachong\PaChong\MyTestRequests\花语.py", line 1, 
in <module> import requests File "D:\Project\PythonProject\pachong\Lib\site-packages\requests\__init__.py", line 43, 
in <module> import urllib3 File "D:\Project\PythonProject\pachong\Lib\site-packages\urllib3\__init__.py", line 7, 
in <module> from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool, connection_from_url File "D:\Project\PythonProject\pachong\Lib\site-packages\urllib3\connectionpool.py", line 11, 
in <module> from .exceptions import ( File "D:\Project\PythonProject\pachong\Lib\site-packages\urllib3\exceptions.py", line 2, 
in <module> from .packages.six.moves.http_client import IncompleteRead as httplib_IncompleteRead ModuleNotFoundError: No module named 'urllib3.packages.six.moves' 
(pachong) PS D:\Project\PythonProject\pachong> pip install --upgrade urllib3 Requirement already satisfied: urllib3 in d:\project\pythonproject\pachong\lib\site-packages (1.25.11) Collecting urllib3 Downloading urllib3-2.2.1-py3-none-any.whl.metadata (6.4 kB) Downloading urllib3-2.2.1-py3-none-any.whl (121 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.1/121.1 kB 83.5 kB/s eta 0:00:00 Installing collected packages: urllib3 Attempting uninstall: urllib3 Found existing installation: urllib3 1.25.11 Uninstalling urllib3-1.25.11: Successfully uninstalled urllib3-1.25.11 Successfully installed urllib3-2.2.1 
(pachong) PS D:\Project\PythonProject\pachong> python .\PaChong\MyTestRequests\花语.py ###————————————————————————————————————————————###以下为我实际运行的代码(实例) 
<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
<meta id="viewport" name="viewport" content="width=device-width,viewport-fit=cover, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 
<meta name="keywords" content="各种花的花语大全,花百科" /> 
<meta name="description" content="赏花要懂花语,花语构成花卉文化的核心,在花卉交流中,花语虽无声,但此时无声胜有声,其中的涵义和情感表达甚于言语.花语大全教您认识各种花的花语." /> 
<title>各种花的花语大全 - 花百科</title> 
<link href="/public/huabaike/css/main.css" rel="stylesheet" type="text/css" /> 
<link href="/public/huabaike/css/baikemenu.css" rel="stylesheet" type="text/css" /> 
<link href="/public/huabaike/css/header.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="/public/huabaike/js/jquery-1.8.0.min.js">
</script> 
<script type="text/javascript" src="/public/huabaike/js/main.js"></script> 
<script type="text/javascript" src="/public/huabaike/js/hbk_pos.js?v=1.11">
</script> 
…………

经过此错误,决定还是使用命令行模式运行python项目,不然会有各种各样的问题,这次有可能是因为pycharm的urllib3链接的Openssl关联的Six库起冲突,应该是python版本决定的,针对于python3.10及以上的解释器有关系,其中我只动了urllib3、six和requests的版本,反正各种依赖库总是出问题,推荐老版本的python解释器,新版本确实有点不太好用了

0

评论区