一、卸载损坏的yum并安装

本来想直接下载安装python3.8,结果过程中损坏了yum,导致yum无法使用。

1、删除python

#删除现有的python

rpm -qa|grep python|sudo xargs rpm -ev --allmatches  --nodeps #强制删除已安装程序及其关联

whereis python|sudo xargs rm -frv #删除所有残余文件##xargs,允许你对输出执行其他的某些命令

whereis python ##验证删除,返回无结果

2、删除yum 

#删除现有的yum

rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps

whereis yum |xargs rm -frv

3、下载python依赖rpm包

#下载Python安装包
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-89.el7.x86_64.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-2.7.5-89.el7.x86_64.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-45.el7.x86_64.rpm

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-89.el7.x86_64.rpm

#解释说明

python-libs-2.7.5-48.el7.x86_64.rpm #被python依赖
python-2.7.5-48.el7.x86_64.rpm
python-iniparse-0.4-9.el7.noarch.rpm #被yum依赖
python-pycurl-7.19.0-19.el7.x86_64.rpm #被python-urlgrabber依赖
python-urlgrabber-3.10-10.el7.noarch.rpm#被yum依赖
rpm-python-4.11.3-21.el7.x86_64.rpm#被yum依赖

4、下载yum依赖包

#下载yum包
mkdir -p yum-rpm/
cd  yum-rpm/
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

5、强制安装python

#强制安装python(--nodeps表示强制)

sudo rpm -ivh python-* rpm-python-* --nodeps --force

6、强制安装yum

#强制安装yum(--nodeps表示强制)
cd yum-rpm/

sudo rpm -ivh yum-* --nodeps --force

7、测试yum

yum install vim -y  

8 、小知识

从中科,163或者阿里云镜像下载相对应的包

centos版本可以根据自己的版本去找对应Packages
如果不知道自己的系统版本,命令行输入这个cat /etc/redhat-release

中科: http://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/
163 : http://mirrors.163.com/centos/7/os/x86_64/Packages/
阿里: https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

 二、安装python3.8

1、安装必要的开发工具 

首先,我们需要确保系统已经安装了必要的开发工具。这些工具包括编译器、库文件和其他必要的软件包,它们对于编译和安装Python非常重要。我们可以使用下面的命令来完成这个步骤:

sudo yum groupinstall "Development Tools"

 2、下载(以3.8.16为例)

wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz

3、解压并进入文件

tar xvf Python-3.8.16.tgz
 
cd Python-3.8.16/

4、配置并构建Python

./configure --enable-optimizations
 
sudo make altinstall  

make altinstall是为了避免替换系统默认python版本

Bingo~

linux使用python3安装ntpnmap_运维

验证是否安装成功

python3.8 --version 

 5、设置默认版本

alternatives --install #生成软连接

--remove 删除软连接

--config 配置软连接

--display 显示软连接

--list              显示所有软连接

sudo alternatives --install /usr/bin/python python /usr/local/bin/python3.8 3#3<priority>优先级

sudo alternatives --install /usr/bin/python python /usr/bin/python2.7 2

sudo alternatives --config python切换默认的python版本

python --version#查看是否切换版本成功

6、下载并安装pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 

python get-pip.py

或者

python -m ensurepip 

 pip --version还是有权限问题可以执行

sudo chmod -R 755 /usr/local/lib/python3.8/site-packages

 尝试修复Python环境:如果以上方法均无法解决问题,你可以尝试以下命令进行修复:

python3 -m ensurepip --default-pip 

此命令将会重新安装Python包管理器pip,并且将默认pip设置为Python3中的pip。