Python /usr/bin/env: 坏的解释器: 不是目录

5

我犯了一个错误。我安装了Python 3,然后运行了以下命令,以将默认版本的Python设置为Python3。

sudo ln -fs /opt/Python-3.4.1/python /usr/bin/python

但是我想回到Python2.7,于是我做到了

sudo ln -fs /usr/bin/python2.7/python /usr/bin/python

现在,当我想用Python运行一个内含Bash脚本的程序时,会出现以下错误:

/usr/bin/env: bad interpreter: Not a directory

当我执行以下命令时:
ls -l /usr/bin/env

我看到这个红色的结果:

lrwxrwxrwx 1 root root 25 Jun 12 13:37 /usr/bin/env -> /usr/bin/python2.7/python

实际上,当我进入这个目录时,我不再有env可执行文件,而是一个损坏的链接。
我在互联网上没有找到解决方案。
你能帮帮我吗?我开始对我的错误感到糟糕了。
谢谢

1
相关:https://dev59.com/W3E95IYBdhLWcg3wKqsk 不要将“env”链接到实际的“python”版本,此程序具有特殊目的(请参见相关的问题)。 - myaut
1
是的,这是一个错误。我看到了这篇帖子,但我该如何修复它? - lilouch
在基本上每个现代的平台上,玩弄 /usr/bin 是绝对不行的。 - tripleee
1个回答

7

1
非常感谢,我不是Unixoid系统的极客,花了我整整一天的时间才弄清楚我不知道怎么删掉了这个文件,而且我也不知道它是Ubuntu 20.04核心工具的一部分。你帮我节省了很多时间浪费,现在npm -v可以显示版本并且正常工作了。之前我尝试使用默认仓库安装和删除,然后使用NVM,但都没有成功,直到最后找到了这个方法。每天学到新东西真是太好了。 - Sergey Kravchenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接