Python报错code for hash md5/sha1 was not found,unsupported hash type md5/sha1问题解决

前言:主机部署了垃圾回收机制,trash-empty的时候总是报错md5的问题,放好长时间了,虽然不影响主机垃圾回收机制,但是看着不得劲,决定整一波~但是这一波下来也是学会了好多东西。

1、既然python报错,那就先看python版本,是默认版本还是安装其他的版本,当然第一反应还是想着pip安装一波,后续证明pip这种想法是错的。

python -m pip install xxxx

2、知识盲区,就百度,按照百度方法的错误分析思路

>>>dir(hashlib)

['__all__', '__builtins__', '__doc__', '__file__', '__get_builtin_constructor', '__name__', '__package__' , 'algorithms', 'new', 'sha224', 'sha256', 'sha384', 'sha512']

会发现里面列出的和正常的相比缺少了

'_hashlib','md5', 'sha1'

使用命令

>>>import _hashlib

ImportError: libssl.so.4: cannot open shared object file: No such file or directory

好的,问题出来了,缺失了这个库~

3、检查系统是否安装了openssl

如果未安装,https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz

下载之后/config shared zlib-dynamic 生成Makefile文件

然后make,生成

libssl.so.1.0.0

libcrypto.so.1.0.0

建立步骤5的软链接。

4、安装了还报错,为了点啥呢?那接着查

查看/usr/lib64/目录下(如是32位系统那路径就是/usr/lib/)libssl.so库文件的版本,我的是libssl.so.1.0.0

5、创建软链接(ln源就是上面查出的对应版本的库文件):

到这里按照百度大神们的经验基本就解决了。

但是,这个动态库我搞了半天,发现链接是越建越多,导致主机除常规命令外,使用其他命令时会报core dump,就很难受。

首先先查看主机

rpm -qa | grep openssl

rpm -e | grep openssl --nodeps    ----无视依赖卸载

然后卸载,core dump这个报错暂时算是解决了

想删除lib64目录下关于openssl这两个库的软链接,重新链接,但是rm命令还是会报python的错误,更改了setup.py以及Setup.dist这俩文件重编了python之后,还是会报错。

终极解决办法:(虽然简单粗暴,但是不建议使用,如有不慎,主机会直接崩溃,需重装os)

我的OS版本

然后找了6.5版本直接将lib64与bin64打包,上传到此环境,解压,问题直接解决。

 后续,才了解到trash-empty相关的垃圾回收的命令以及知识。

这个问题浪费了一天的工作时间,一直纠缠在库之间的链接问题上面,导致后续主机几近崩溃,事实告诉我们,不要忽略问题本身以及除了百度之外,要想想为什么?

马后炮:

其实这个问题当时要是重新更换版本,建立python链接,应该会解决;

还有删除/usr/lib64下面的openssl相关库的软链按照上述链接方法也是可以解决;

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值