文档

在CentOS 7系统的ECS实例中,执行yum命令提示“-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory”错误怎么办?

更新时间:

本文介绍在CentOS 7系统的ECS实例中,执行yum命令提示“-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory”错误的解决方案。

问题现象

在CentOS 7系统的ECS实例中执行yum命令时,提示以下报错信息。

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory

问题原因

可能是由于Python异常(Python被卸载、改名或移动路径),导致执行yum命令时报错。

说明

yum( Yellow dog Updater, Modified)是一个在Fedora、RedHat以及SUSE中的Shell前端软件包管理器。

解决方案

请参考以下操作,排查Python是否异常并修复。

  1. 远程连接Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,查看yum路径。

    which yum

    系统返回如下信息,表示yum路径为/usr/bin/yum

    /usr/bin/yum
  3. 执行以下命令,查看yum内容。

    cat /usr/bin/yum

    系统返回以下信息,表示使用的Python版本路径。

    #!/usr/bin/python
    说明

    本文以/usr/bin/python路径为示例,请根据实际情况更换实际路径。

  4. 执行以下命令,检查上述查看的路径。

    ls -al /usr/bin/python

    如果系统返回类似以下信息,则表示Python可能被卸载、改名或移动路径。

    ls: cannot access /usr/bin/python: No such file or directory
  5. 执行以下命令,查看Python相关文件是否存在。

    rpm -qa | grep python

    正常情况下,系统返回类似以下信息。

    python-decorator-3.4.0-3.el7.noarch
    libselinux-python-2.5-14.1.el7.x86_64
    python-backports-1.0-8.el7.x86_64
    python-pyudev-0.15-9.el7.noarch
    rpm-python-4.11.3-35.el7.x86_64
    python-2.7.5-76.el7.x86_64
    .....
    • Python相关文件存在:说明Python相关文件被改名或移动路径。

      1. 执行以下命令,查看Python相关文件。

        ls -al /usr/bin/python*

        系统返回类似以下信息,提示“/usr/bin/python.bak -> python2”,则表示Python名称已被更改。

        lrwxrwxrwx  1 root root   14 Feb 15  2019 /usr/bin/python-config -> python2-config
        lrwxrwxrwx. 1 root root    7 Feb 15  2019 /usr/bin/python.bak -> python2
        lrwxrwxrwx. 1 root root    9 Feb 15  2019 /usr/bin/python2 -> python2.7
        lrwxrwxrwx  1 root root   16 Feb 15  2019 /usr/bin/python2-config -> python2.7-config
        -rwxr-xr-x. 1 root root 7216 Oct 31  2018 /usr/bin/python2.7
        -rwxr-xr-x  1 root root 1835 Oct 31  2018 /usr/bin/python2.7-config
      2. 执行以下命令,将/usr/bin/python.bak名称改为/usr/bin/python

        mv /usr/bin/python.bak /usr/bin/python
      3. 重新执行yum命令,若不再提示以上报错信息,则表示问题已修复。