宝塔部署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、重启服务器&面板

相关推荐
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
未济2 天前
linux 配置环境变量
linux
傲世仙尊2 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
_艾伦 耶格尔.2 天前
进程间通信
linux
Liuqy-052 天前
Linux IO编程——静态库、动态库
linux