【问题标题】:ubuntu /usr/bin/env: python: No such file or directoryubuntu /usr/bin/env: python: 没有这样的文件或目录
【发布时间】:2011-04-08 23:47:48
【问题描述】:

我更新了内核,之后Ubuntu就不行了,PS:我尝试执行“meld”命令,会报“/usr/bin/env: python: No such file or directory”, 然后我执行“sudo apt-get install python”得到结果“python已经是最新版本。”,我该怎么办。


我不擅长linux,你能告诉我如何将我的linux恢复到最后的正确状态,或者正常重新安装python。

【问题讨论】:

标签: python ubuntu-9.04


【解决方案1】:

问题场景

/usr/bin/env: ‘python’: No such file or directory

可能的解决方案 #1

  • 如果没有安装 Python 3,安装它:apt-get install python3

可能的解决方案 #2

  • 如果已安装 Python 3,请运行以下命令:whereis python3

  • 然后我们为它创建一个符号链接:sudo ln -s /usr/bin/python3 /usr/bin/python

【讨论】:

  • 这正是我在 Ubuntu 20.04 中所需要的。谢谢,弗朗西斯科!
  • 在 Ubuntu 18.04 上也工作过
  • 在 Ubuntu 20.04 上也适用于我,除了我将符号链接放入我的 /home/user/bin 文件夹中,因为我不想弄乱/usr/bin
  • 为 Ubuntu 20.04 KDE Neon 工作!
  • 我已经使用了下面的解决方案,如果它在官方 apt repo sudo apt install python-is-python3 中发货,感觉更安全。
【解决方案2】:

我自己暂时被这个错误难住了,我想我会发布我是如何解决我的问题的。

我的问题是一个错误:

: No such file or directory

这对我来说毫无意义。我的问题是我的编辑器默默地将脚本从 Unix LF 转换为 Windows CR/LF 行终止符。一个相当不幸的结果是“#!/usr/bin/env python”实际上变成了“#!/usr/bin/env python\015”,其中\015是不可见的CR字符... /usr/bin/然后,env 无法找到命令“python\015” - 因此出现 file-not-found 错误。

将脚本转换为 Unix 行尾约定解决了我的问题……但只是在头疼了几分钟之后。

【讨论】:

  • 非常感谢...作为旁注,您可以通过 fromdos <filepath>fromdos 将 win 结尾转换为 unix 结尾,实用程序位于标准 repos 中的 tofrodos 包中。
  • 非常感谢...蹩脚的文本编辑器的无声操作!该死!
  • 几个月来我一直在努力解决这个问题,非常感谢!
  • ubuntu 应该足够聪明,可以理解这两种风格。又是哪一年?
  • 你可以在 Vim 编辑器中使用它来转换文件格式 - :set ff=unix 更多细节在这个答案中:stackoverflow.com/a/82743/9152071
【解决方案3】:

在 Ubuntu 20.04 和更新版本上,有一个包可以解决这个问题。运行以下命令:

sudo apt update
sudo apt install python-is-python3

运行apt-cache show python-is-python3 了解更多信息。

【讨论】:

  • 我还没有对此进行测试,但假设这可行,这似乎是这里的“正确”或最佳答案(所以投票计数再次失败)并且问题可能是结果从 python2 到 3 的变化标准。准确吗?
  • @Manius 他们在 5 月回答,而我直到 12 月才回答。我的意思是,这几乎做同样的事情(创建一个符号链接),所以“最好”是一种主观的。但是,是的,这似乎是从 python2 更改为 python3 的结果——实际上有一个名为 python-is-python2 的包,它为需要运行旧 python 软件的人创建了一个指向 python2 的符号链接。
  • 我知道时间差是的。我认为SO不允许主观性? ;) 只是选择 SO 的任意规则集。我想,我们可以提出一个论点,即手动创建链接是一个发行版中立的解决方案。出于某种原因,Python 有一种方式让我变得格外挑剔。每当我需要处理它时,Python 的环境似乎是一团糟。
【解决方案4】:

@mchid 的答案是你应该去做的。

仅供参考,

如果你这样做: $ python

它会说Command 'python' not found ...

但如果你这样做: $ python3,应该可以了。

所以,只要修改shebang线

来自 !#/usr/bin/env python !#/usr/bin/env python3,你很高兴。

(这是通过做自动完成的 sudo apt install python-is-python3)

【讨论】:

    猜你喜欢
    • 2013-02-27
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 2020-05-26
    • 2013-03-11
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多