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

相关推荐
David Bates2 分钟前
代码随想录第41天:图论2(岛屿系列)
python·算法·图论
悟空空心3 分钟前
iperf3的介绍与舒勇
linux·网络
一尘之中10 分钟前
二进制与十六进制数据转换:原理、实现与应用
linux·c语言·人工智能
是代码侠呀15 分钟前
让Promise飞,让github star 飞
python·开源·github·github star·github 加星
风口上的吱吱鼠15 分钟前
记录 ubuntu 安装中文语言出现 software database is broken
linux·服务器·前端
newdf观察者17 分钟前
penEuler操作系统结合豆包测试github仓库8086-Emulator项目
linux·运维·github
绵绵细雨中的乡音26 分钟前
Linux进程学习【进程地址】
linux·学习
Lw老王要学习33 分钟前
Linux架构篇、第四章_ELK与EFK-7.17.9的日志管理
linux·运维·elk·架构·云计算
知北游天34 分钟前
Linux:进程间通信---消息队列&&信号量
linux·服务器
liuyunluoxiao1 小时前
进程间通信--管道【Linux操作系统】
linux