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

标签 python linux bash

我做错了。我安装了 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 可执行文件,而是一个损坏的链接。

网上没找到解决方法。

你能帮帮我吗?我开始为自己的错误感到难过。

谢谢

最佳答案

好的,我通过重新安装这个 env 文件解决了我的问题。

sudo apt-get install --reinstall coreutils

然后感谢 Why do people write the #!/usr/bin/env python shebang on the first line of a Python script? 中的这篇帖子 我更清楚如何在版本之间切换并且不再犯同样的错误。

关于 python /usr/bin/env : bad interpreter: Not a directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30796142/

相关文章:

linux - Bash - 如何使用 find 命令排除目录以及如何使用 find 获取完整路径?

Java:观察目录的变化

ios - 我有两个 Xcode 项目,找出其中两个文件不同的最简单方法是什么?

linux - 如何使用shell解析命令的输出

python - 为什么延迟导入在 Python 中不是默认的?

python - Keras 神经网络错误 : Setting an Array Element with a Sequence

关于使用字典、while 循环和赋值解析例程的 Python 问题

linux - 一个进程如何知道它已经收到一个信号

linux - Rsync - 变化似乎没有被延续

python - Selenium 从表元素中搜索数据