详情页

-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: Permission denied

时间:2023年05月07日

编辑:佚名

关于linux:-bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:权限被拒绝
-bash: /usr/bin/yum: /usr/bin/python: bad interpreter: Permission denied
我是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的权限
 相关讨论
类似的问题:stackoverflow.com/questions/28921697/
/usr/bin/python应该是可执行文件或二进制文件,而不是目录
我已将其更改为可执行文件,现在我收到错误-bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:没有这样的文件或目录
CentOS要求/usr/bin/python指向Python 2.6,而不是任何其他版本。运行以下命令:
sudo rm -rf /usr/bin/python
sudo ln -s /usr/bin/python2.6 /usr/bin/python
至少修复它的那一部分。下次构建Python时,使用默认值并将其安装到/usr/local/bin,而不是/usr/bin。这就是/usr/local层次结构的用途 - 用户安装的程序。 /usr和/usr/bin应仅适用于系统安装的程序(例如由yum或其图形等效项安装的程序),除非您知道自己在做什么,否则应该保留。要在/usr/local/bin中使用具有相同名称的程序而不是/usr/bin中的对应程序,请打开~/.bashrc或~/.bash_profile(无论您的系统使用哪个),并将以下内容添加为最后一行:
1
export PATH=/usr/local/bin:$PATH
重新启动你的shell会话,你应该全部设置。
 相关讨论
谢谢你的回答但我还有一个问题,文件路径/usr/bin/python2.6也不存在。我想我早先删除了它。那我该怎么办?我想因为在我按照你的步骤后我得到了错误。 -bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:没有这样的文件或目录
@aneesh将来,请不要随意删除你不理解的东西。 Linux没有任何类型的命令行"Trash",默认情况下你可以用来取消删除,除非你在开始搞乱之前对系统进行了备份。您可以尝试从源代码构建2.6.9,但不能保证它能够正常工作。您可能需要重新安装系统。
我用2.6.9构建它。但是当运行命令时出现错误bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:权限被拒绝
lrwxrwxrwx 1 root root 37 Mar 8 01:19 python - > /home/odoouser/Python-2.6.9这是权限显示
@aneesh在构建2.6.9后运行make install,并事先配置它以安装到/usr/bin?您刚刚发布的内容看起来像是解压缩2.6.9源代码的目录的符号链接。就像我之前说的那样,/usr/bin/python必须是二进制文件的链接,或者是实际二进制文件本身的链接,而不是指向目录的链接。你不能"运行"一个目录......
@aneesh,最后一部分是你的问题。你为什么这么做?首先,您需要运行./configure --prefix=/usr才能将其安装到正确的位置。删除符号链接,运行make clean,然后执行上面的./configure命令,然后sudo make install。在确定一切正常之前,请勿触摸,删除,移动或符号链接/usr/bin中的任何内容。
@aneesh让我用简单的英语说出来 - 不要对/usr/bin/python做一个符号链接!
我已经按照你说的做了eveything但仍然得到错误-bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:没有这样的文件或目录
现在我尝试运行whereis python就像这个python:/usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.6-config /usr/local/bin/python2.6 /usr/local/bin/python2.7-config / usr / local / bin / python /usr/local/bin/python2.7 /usr/local/lib/python2.6 /usr/local/lib/python2.7 /usr/include/python2.6 /usr/share/man/man1/python.1.gz
python2.6二进制文件现在位于/usr/local/bin中。将其符号链接到/usr/bin/python和/usr/bin/python2.6,并完成它。
刚检查,开场陈述仍然有效吗?"CentOS要求/ usr / bin / python指向Python 2.6"。在未来的某些时候,CentO会改为Python 2.7或Python 3(严肃的问题)吗?你回答这个问题时的版本是什么?
yum不适用于python2.7。
您应该执行以下操作
vim /usr/bin/yum
更改
#!/usr/bin/python

#!/usr/bin/python2.6
如果你的python2.6被删除了,那么重新安装它们并将/ usr / bin / yum中的目录指向你的python2.6目录。
-bash:/ usr / bin / yum:/ usr / bin / python:bad interpreter:权限被拒绝然后
首先删除python follow命令行
- sudo rpm -e python
第二步检查哪个包安装此命令行
- sudo rpm -q python
然后安装包
- sudo yum install python *
我觉得这个问题解决了
相关文章
猜你需要