繁体   English   中英

ubuntu /usr/bin/env: python: 没有那个文件或目录

[英]ubuntu /usr/bin/env: python: No such file or directory

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


我的linux不好用,能不能告诉我怎么把我的linux恢复到最后正确的状态,或者正常重装python。

问题场景

/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

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

我的问题是一个错误:

: 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”——因此出现文件未找到错误。

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

2022 年 5 月:对于刚刚更新到Monterey 12.3的任何人来说,更新似乎用 python3 替换了 python。 下载python修复了Xcodegit命令行中的问题。 请务必阅读下面的两条评论。

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

sudo apt update
sudo apt install python-is-python3

运行apt-cache show python-is-python3以获取更多信息。

对于在 MacOS 上遇到同样问题并使用自制软件安装 python3 的人:

sudo ln -s /opt/homebrew/bin/python3 /opt/homebrew/bin/python

此答案针对 android 构建系统错误针对 Python 3

如果您收到“/usr/bin/env 'python' 没有这样的文件或目录”错误消息,请使用以下解决方案之一:如果您的 Ubuntu 20.04.2 LTS 是新安装的(与升级后的)Linux 版本:

sudo ln -s /usr/bin/python3 /usr/bin/python

f 使用 Git 版本 2.19 或更高版本,您可以在执行 repo init 时指定 --partial-clone。 这利用 Git 的部分克隆功能在需要时只下载 Git 个对象,而不是下载所有内容。 因为使用部分克隆意味着许多操作必须与服务器通信,所以如果您是开发人员并且您使用的是低延迟网络,请使用以下内容:

repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M

您可以在下载源代码中查看文档

如果队友的其他建议不起作用,其他可能的解决方案是将.py脚本转换为 UNIX 格式。

在转换脚本之前,您可以通过安装 dos2unix 来实现。 你可以这样做:

sudo apt install dos2unix

安装后,您可以相应地转换脚本:

dos2unix <filename>.py

您可以在此处阅读有关dos2unix的更多信息。

--

另外,请尝试在本地运行您的脚本并查看它是否正常工作,您还需要注意在脚本中包含hashbang

#!/usr/bin/env python3
  • 请注意,以上是针对python3的,如有必要,请使用python

@mchid 的答案是您应该选择的答案。

仅供参考,

如果你这样做: $ python

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

但是如果你这样做: $ python3 ,它应该可以工作。

所以,只需修改shebang行

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

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

创建符号链接为我解决了这个问题

sudo ln -s /usr/bin/python3 /usr/bin/python

对于使用 macOS 或 M1 机器(在 12.5 上测试)的用户,符号链接 /usr/bin/python3 将不起作用,因为它是对 xcode python3 安装的引用。 而是这样做:

sudo ln -s /Library/Developer/CommandLineTools/usr/bin/python3 /usr/local/bin/python

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM