宝塔部署QQ机器人,提示OpenSSL 1.0.2k-fips 26 Jan 2017

1、报错预览

bash 复制代码
Traceback (most recent call last):
  File "/www/wwwroot/python/bot-one/main.py", line 5, in <module>
    import requests
  File "/www/wwwroot/python/bot-one/343ae0eb0d491a10a1a00c0621b03ed0_venv/lib/python3.9/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/www/wwwroot/python/bot-one/343ae0eb0d491a10a1a00c0621b03ed0_venv/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
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

2、原因分析

项目中使用了requestsrequests使用了urllib3 , urllib3 v2.0要求OpenSSL 1.1.1+,而我的系统版本是OpenSSL 1.0.2k-fips 26 Jan 2017,那么给他进行升级就行。

3、解决方法

方案一:

根据报错的提示,找到对应的文档,由于我的系统是centos7,所以版本估计是1.0.2,可以使用openssl version进行查看,然后确定是1.0.2。

如果centos8的openssl默认是1.1.1+的话,那么可以升级系统到centos8,即可解决这个问题,由于我的系统部署的有其他的东西,没有贸然升级,选择了第二种方案。

方案二:

升级openssl版本,按照下面步骤,一顿输出,就会有结果

bash 复制代码
1、查看版本
openssl version
ssh -V

2、下载版本
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz

3、解压
tar -zxf openssl-1.1.1t.tar.gz

4、编译安装
cd openssl-1.1.1t
./config -Wl,-rpath=/usr/lib64 --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --libdir=/usr/lib64
make -j 4 && make install

5、替换
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

6、验证结果
openssl version

如图所示,则升级成功

4、宝塔操作

openssl升级后,在宝塔中进行如下操作

1、删除项目

2、删除python版本

3、安装python版本

安装之前的版本就行

4、创建项目

创建你删除的项目

5、重启服务器&面板

相关推荐
小瑞瑞acd13 小时前
【小瑞瑞精讲】卷积神经网络(CNN):从入门到精通,计算机如何“看”懂世界?
人工智能·python·深度学习·神经网络·机器学习
开开心心就好13 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位14 小时前
也许你不需要创建.venv, 此规范使python脚本自备依赖
python
火车叼位14 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
孤狼warrior14 小时前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
予枫的编程笔记14 小时前
【Linux进阶篇】从基础到实战:grep高亮、sed流编辑、awk分析,全场景覆盖
linux·sed·grep·awk·shell编程·文本处理三剑客·管道命令
Sheep Shaun14 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
Katecat9966314 小时前
YOLO11分割算法实现甲状腺超声病灶自动检测与定位_DWR方法应用
python
Tfly__14 小时前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
陈桴浮海14 小时前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible