【问题标题】:/usr/bin/python: bad interpreter: No such file or directory after installing python 2.7/usr/bin/python:错误的解释器:安装 python 2.7 后没有这样的文件或目录
【发布时间】:2021-04-01 11:13:49
【问题描述】:

我在 Ubuntu 20.04 上安装了 python3,并且我有一个需要安装 python 2.7 的应用程序。 安装 python 2.7 后,似乎找不到 python

 /usr/bin/python: bad interpreter: No such file or directory

which pythonwhich python2which python3 不返回任何结果

/usr/bin 的内容如下:

root@ip-10-10-10-201:/home/ubuntu# ls -alh /usr/bin/pyt*
lrwxrwxrwx 1 root root    9 Mar 13  2020 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3.5M Aug  4 11:16 /usr/bin/python2.7
lrwxrwxrwx 1 root root    9 Mar 13  2020 /usr/bin/python3 -> python3.8
lrwxrwxrwx 1 root root   16 Mar 13  2020 /usr/bin/python3-config -> python3.8-config
-rwxr-xr-x 1 root root 5.3M Jul 28 12:59 /usr/bin/python3.8
lrwxrwxrwx 1 root root   33 Jul 28 12:59 /usr/bin/python3.8-config -> x86_64-linux-gnu-python3.8-config

如果我需要两个 python(2.7 和 3.8)都可以工作,我不确定如何让这个工作。 我应该将需要 phyton2 的脚本中的#!/usr/bin/python 更改为#!/usr/bin/python2 吗?

感谢您的帮助。 节日快乐!

【问题讨论】:

  • 启动一个新的外壳或重新加载您的配置文件可能会这样做source ~/.bash_profile
  • ls 的输出中,您是否看到一个完全命名为/usr/bin/python 的文件?为了使用正确的解释器,您应该指定 existing 可执行文件的路径。因此,您可以使用/usr/bin/python2/usr/bin/python2.7。 shebang 通常看起来像#!/usr/bin/env python
  • 相关:askubuntu.com/questions/1296790/… 要获得python,您必须明确选择python-is-python2python-is-python3
  • 但请记住,仅仅因为您将 /usr/bin/python 链接到其中一个或另一个,这并不意味着它对于任何指定 @987654340 的任意脚本都是正确 @。最好将脚本更新为显式。

标签: python python-3.x python-2.7 ubuntu ubuntu-20.04


【解决方案1】:

按照@ForceBru 的建议,将脚本从/usr/bin/python 更改为/usr/bin/python2 似乎可行。

这是因为 Ubuntu Python 包总是以 python2 和 python3 的形式出现,而不是 python

【讨论】:

  • 您现在应该可以将其标记为答案以关闭您的问题!
猜你喜欢
  • 1970-01-01
  • 2018-05-29
  • 2015-10-24
  • 2014-10-24
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-25
相关资源
最近更新 更多