Centos把Python2.7卸载了,导致yum不可用, bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录

本文介绍如何解决因误删Python2.7而导致的yum工具无法使用的问题。通过彻底清除旧版本Python及yum残留,并重新安装适配当前系统的Python2.7及相关依赖包,最终恢复yum的正常使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

手抖把Python2.7卸载了,导致yum不可用, bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录
手欠,乱删Centos7自带的python2环境,哭着又给还原回来

面临问题

因为卸载了Python2.7,yum不可用了

整个思路是这样的,没有了Python2.7,我就需先把Linux服务器依赖的Python2.7的包重新安装上,再看有没有其他问题

该处理过程也适用于 yum因python版本无法使用的问题,不同的版本类型的机器,切记把机器版本号替换一下就可以了.

检查是否删除彻底

1、检查Python2.7是否卸载干净了

#卸载python
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps 
##删除所有残余文件
whereis python |xargs rm -frv   
##验证删除,返回无结果
whereis python 

2、删除现有的yum

不可用了就先删掉,以防依赖出错

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

查看linux版本

安装Python2.7的依赖包,就要找到Linux的版本号,经查我的版本号是:

#命令
cat /etc/redhat-release
#版本号
CentOS Linux release 7.9.2009 (Core)
# 个别电脑是
CentOS Linux release 7.9.2009 (AltArch)

查看处理器的架构

# 输入如下指令,一般是x86_64,也有可能是aarch64
arch
aarch64

安装python2

注意先确定架构

否则会提示

[root@Server-python2]# rpm -ivh python-* rpm-python-* --nodeps --force
准备中...                          ################################# [100%]
        软件包 python-libs-2.7.5-89.el7.x86_64 是针对 different 构架的
        软件包 python-2.7.5-89.el7.x86_64 是针对 different 构架的
        软件包 python-pycurl-7.19.0-19.el7.x86_64 是针对 different 构架的
        软件包 python-devel-2.7.5-89.el7.x86_64 是针对 different 构架的
        软件包 rpm-python-4.11.3-45.el7.x86_64 是针对 different 构架的

1、网上先下载python2需要用到的rpm包,我这里使用的aliyun提供的下载地址

x86_64架构

注意:请根据自己系统版本选择对应的rpm包下载,我这里是Centos7.9_x86_64的
https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/

下载的rpm包包括:

python-2.7.5-89.el7.x86_64
python-iniparse-0.4-9.el7.noarch.rpm
python-libs-2.7.5-89.el7.x86_64.rpm
python-pycurl-7.19.0-19.el7.x86_64.rpm
python-urlgrabber-3.10-10.el7.noarch.rpm
rpm-python-4.11.3-45.el7.x86_64.rpm

aarch64架构

下载地址:https://repo.huaweicloud.com/centos-altarch/7.9.2009/os/aarch64/Packages/
python-2.7.5-89.el7.aarch64.rpm
python-devel-2.7.5-89.el7.aarch64.rpm
python-iniparse-0.4-9.el7.noarch.rpm
python-libs-2.7.5-89.el7.aarch64.rpm
python-pycurl-7.19.0-19.el7.aarch64.rpm
python-urlgrabber-3.10-10.el7.noarch.rpm
rpm-python-4.11.3-45.el7.aarch64.rpm
python2-rpm-macros-3-34.el7.noarch.rpm
python-rpm-macros-3-34.el7.noarch.rpm
python-srpm-macros-3-34.el7.noarch.rpm

2、下载完成后,执行命令

rpm -ivh python-* rpm-python-* --nodeps --force
[root@Server_aarch64]# rpm -ivh python-* rpm-python-* --nodeps --force
准备中...                          ################################# [100%]
正在升级/安装...
   1:python-libs-2.7.5-89.el7         ################################# [ 11%]
   2:python-2.7.5-89.el7              ################################# [ 22%]
   3:python-pycurl-7.19.0-19.el7      ################################# [ 33%]
   4:python-srpm-macros-3-34.el7      ################################# [ 44%]
   5:python-rpm-macros-3-34.el7       ################################# [ 56%]
   6:python-devel-2.7.5-89.el7        ################################# [ 67%]
   7:python-urlgrabber-3.10-10.el7    ################################# [ 78%]
   8:python-iniparse-0.4-9.el7        ################################# [ 89%]
   9:rpm-python-4.11.3-45.el7         ################################# [100%]

强制安装rpm包,不考虑依赖关系【之前这里没添加–nodeps --force,导致安装一直提示缺少依赖】
安装完成之后,输入命令查看安装是否成功

which python
whereis python
python

安装yum

下载yum依赖包,同python2一样,根据自己系统版本选择对应的rpm包

x86_64架构

yum-3.4.3-168.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

aarch64架构

下载的rpm包如下:
yum-3.4.3-168.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.aarch64.rpm
yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

2、输入安装命令

rpm -ivh yum-*
[root@Server_aarch64]# rpm -ivh yum-*
准备中...                          ################################# [100%]
正在升级/安装...
   1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 33%]
   2:yum-plugin-fastestmirror-1.1.31-5################################# [ 67%]
   3:yum-3.4.3-168.el7.centos         ################################# [100%]

3、安装完成后,输入命令验证安装是否成功

which yum
whereis yum
yum --version
<think>好的,用户遇到了yum无法使用的问题,提示是“解释器没有那个文件目录”,特别是涉及到Python2.7。首先,我需要回忆一下yumPython之间的关系。yum是基于Python编写的工具,所以它依赖于系统中特定的Python解释器路径。如果用户卸载Python2.7者路径发生了变化,yum就无法找到正确的解释器导致这个错误。 根据用户提供的引用内容,特别是引用[1]和[2],问题通常是因为/usr/bin/python这个软链接指向了存在的Python2.7。所以第一步应该是检查系统中是否存在Python2.7者是否被错误地删除。如果用户确实卸载Python2.7,可能需要重新安装它,者调整yum的脚本指向现有的Python版本。 接下来,引用[3]提到可能需要检查Python的包是否包含yum所需的模块,比如yum相关的库文件。如果这些文件缺失,可能需要从其他服务器拷贝,者通过其他方式恢复。 我需要分步骤来解决问题。首先,确认Python2.7的安装情况。如果已经删除,需要重新安装。其次,检查软链接是否正确指向存在的Python解释器。可能需要将/usr/bin/python重新链接到可用Python版本,比如Python2.7。如果用户系统中同时有Python2Python3,需要注意要破其他依赖Python3的应用。 另外,可能还需要检查yum的脚本文件,确保它们的shebang行指向正确的Python路径。例如,查看/usr/bin/yum的第一行是否是#!/usr/bin/python,如果是的话,而该路径的Python存在,就需要修改这个路径到正确的Python解释器位置。 还有可能出现的情况是,用户安装了其他版本的Python,但yum需要特定版本的支持。这时候可能需要安装对应的Python2.7兼容包,者调整环境变量,使得yum能够找到正确的解释器。 最后,如果用户无法自行恢复Python2.7,可能需要考虑升级系统到使用Python3的yum版本,但CentOS等系统可能仍然依赖Python2.7,所以这种方法可能适用。这种情况下,重新安装Python2.7和相关yum包可能是必要的。 总结来说,解决步骤大致是:检查Python安装情况,修复软链接,恢复yum所需的Python库,者重新安装必要的包。需要逐步引导用户进行操作,确保每一步都正确执行,避免进一步破系统环境。</think>### 解决方案:修复 yum 调用 Python2.7 的“解释器”错误 此问题通常是由于系统中缺失 `/usr/bin/python2.7` 解释器软链接失效导致的。以下是具体解决步骤: --- #### **步骤 1:确认 Python2.7 是否正常安装** 1. **检查 Python2.7 是否存在** 运行以下命令验证 Python2.7 是否安装: ```bash ls /usr/bin/python2.7 ``` 如果提示文件存在,则需要重新安装 Python2.72. **安装 Python2.7(若缺失)** - 对于 CentOS/RHEL 系统: ```bash yum install python2 ``` *注意:如果 yum 已无法使用,需手动下载 Python2.7 RPM 包从其他服务器拷贝相关文件[^3]。* --- #### **步骤 2:修复软链接** 1. **检查 `/usr/bin/python` 的指向** 运行以下命令查看软链接目标: ```bash ls -l /usr/bin/python ``` 如果输出类似 `lrwxrwxrwx 1 root root 7 Apr 1 2020 /usr/bin/python -> python2`,需确保最终指向 `python2.7`。 2. **重新创建软链接** 若链接错误失效,执行以下命令修复: ```bash ln -sf /usr/bin/python2.7 /usr/bin/python ``` --- #### **步骤 3:修复 yum 配置文件** 1. **修改 yum 脚本的 Python 解释器路径** 打开 `/usr/bin/yum` 文件: ```bash vi /usr/bin/yum ``` 将首行的 `#!/usr/bin/python` 改为 `#!/usr/bin/python2.7` 实际存在的 Python 路径。 2. **同步修复其他相关工具** 检查 `/usr/libexec/urlgrabber-ext-down` 等文件,确保其首行 Python 路径正确。 --- #### **步骤 4:验证 yum 功能** 运行以下命令测试 yum 是否恢复: ```bash yum --version ``` 如果输出包含 Python 2.7.x 版本信息,则修复成功[^1][^2]。 --- #### **补充:恢复缺失的 yum 依赖包** 若修复后仍报错,可能是 `yum` 的 Python 模块缺失(如 `/usr/lib/python2.7/site-packages/yum`)。需从其他正常服务器拷贝以下目录到本机: - `/usr/lib/python2.7/site-packages/yum` - `/usr/lib/python2.7/site-packages/rpmUtils` - `/usr/lib/python2.7/site-packages/iniparse` 拷贝后重启终端即可。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值