-bash:/ usr/bin/yum:/ usr/bin/python:bad interpreter:权限被拒绝

ane*_*esh 3 python linux centos

我是centos的新手.我尝试在它上面做一个应用程序.对于我的应用程序,我需要安装python 2.7.但是服务器上的默认应用程序是python 2.6.所以试图升级版本.不小心我删除了文件夹/usr/bin/python.After我通过make install安装了python 2.7 .我再次创建了文件夹/ usr/bin/python并运行命令 sudo ln -s/usr /bin/python2.7/usr/bin/python.在此之后,当我尝试运行YUM命令时,我收到错误

-bash:/ usr/bin/yum:/ usr/bin/python:bad interpreter:权限被拒绝

drwxrwxrwx 2 root root 4096 Mar 8 00:19 python

这是显示目录/ usr/bin/python的权限

Mat*_*DMo 7

CentOS要求/usr/bin/python指向Python 2.6,而不是任何其他版本.运行以下命令:

sudo rm -rf /usr/bin/python
sudo ln -s /usr/bin/python2.6 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

至少修复它的那一部分.下次构建Python时,请使用默认值并将其安装到/usr/local/bin,而不是/usr/bin.这就是/usr/local层次结构的用途 - 用户安装的程序./usr并且/usr/bin应仅用于系统安装的程序(例如yum由其安装的程序或其图形等效程序),除非您知道自己在做什么,否则应该保留.要使用具有相同名称的程序/usr/local/bin而不是其对应程序/usr/bin,请打开您的~/.bashrc~/.bash_profile(无论您的系统使用哪个)并将以下内容添加为最后一行:

export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

重新启动你的shell会话,你应该全部设置.

  • @aneesh 以后,**请**不要随意删除您不理解的内容。默认情况下,Linux 没有任何类型的命令行“垃圾箱”可用于取消删除,除非您在开始乱搞之前对系统进行了备份。您可以*尝试*从源代码构建 [2.6.9](https://www.python.org/download/releases/2.6.9/),但不能保证它会起作用。您可能需要重新安装系统。 (2认同)