环境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不可用,删除重装方法。