linux中安装python3.7,误删python2.7,丢失yum功能,补救;安装py3.7没有zlib,出现密钥已安装但是不适用此软件包问题

环境Centos7,http://vault.centos.org/7.7.1908/os/x86_64/Packages/

1. yum问题修正

首先,既然删掉了就全部删除干净

rpm -qa | grep python | xargs rpm -e --allmatches --nodeps //强制卸载自带的python以及相关联的程序
whereis python | xargs rm -rf //删除所有与python相关的残余文件

然后,删除现有的yum

rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps #删除yum
whereis yum |xargs rm -frv #删除残留文件
whereis yum #验证删除完成

重新下载安装python和yum,切记要按顺序安装

rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-2.7.5-86.el7.x86_64.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-devel-2.7.5-86.el7.x86_64.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-libs-2.7.5-86.el7.x86_64.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/python-urlgrabber-3.10-9.el7.noarch.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/rpm-python-4.11.3-40.el7.x86_64.rpm
 
# yum安装
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -ivh  --nodeps http://vault.centos.org/7.7.1908/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

验证安装结果
分别输入pyhton和yum

[root@Centos-7-3s hadoop]# python
Python 2.7.5 (default, Aug  7 2019, 00:51:29) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
[root@Centos-7-3s hadoop]# yum
已加载插件:fastestmirror
您需要给出命令
Usage: yum [options] COMMAND

List of Commands:

check          检查 RPM 数据库问题
check-update   检查是否有可用的软件包更新

yum处理好以后,去官网下载python3.7安装包
官网链接:linux版本下载
在这里插入图片描述题主选择第二个download链接,解压放到/usr/python3.7

tar -xvf Python-3.7.7.tgz.xz
mv /home/hadoop/download/Python-3.7.7/ /usr/python3.7

运行yum安装依赖,进入解压后的目录,编译安装
安装目录为/usr/bin/python3
安装以后建立python3软链接

yum -y install zlib* //题主这里报错了,解决方案在下面

cd Python3.7 
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

检验安装结果

[root@Centos-7-3s Python-3.7.7]# python3
Python 3.7.7 (default, Jun 24 2020, 14:50:57) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

如果linux报错Loading mirror speeds from cached hostfile。
确定联网情况下,修改yum源,国内比较快的有163源、sohu源。这里以163源为例子,可以加速安装更新rpm包。

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all

随后使用yum安装各种包即可。

2. zlib问题修正
执行make && make install结尾报错如下:

import pip
zipimport.ZipImportError: can’t decompress data; zlib not available
make: * [install] Error 1

缺少了zlib的解压缩类库,执行安装命令:

yum -y install zlib*

报错密钥已安装,但是不适用于此软件包:

"CentOS-7 - Base - 163.com" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。

失败的软件包是:zlib-static-1.2.7-18.el7.x86_64

更新检索密钥:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

重新安装,成功无错误。
参考:
codeLife1993的博文:Linux误删python导致yum不可用,删除重装方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值