一、卸载损坏的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.rpmwget 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~
验证是否安装成功
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。