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

相关推荐
郝学胜-神的一滴3 分钟前
深度拆解Python迭代协议:从底层原理到核心实践,解锁异步编程的基石
java·网络·python
李小白杂货铺7 分钟前
网络测速脚本(MacOS和Linux平台可用)
linux·macos·脚本·curl·ping·网络测速·网络测速脚本
REDcker8 分钟前
libevent、libev 与 libuv:对比、演进与实现原理
linux·c++·后端·编程·c·高并发·服务端
2401_8331977310 分钟前
更优雅的测试:Pytest框架入门
jvm·数据库·python
123过去13 分钟前
impacket-mssqlclient使用教程
linux·测试工具·安全
Chase_______18 分钟前
【Linux精讲|第1章】Vi 编辑器核心三模式——命令、插入、尾行全解析
linux·运维·编辑器
weixin_3077791323 分钟前
2025年中国研究生数学建模竞赛A题:通用神经网络处理器下的核内调度问题——解决方案与实现
开发语言·人工智能·python·数学建模·性能优化
2501_9249526925 分钟前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
2401_8914821727 分钟前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python