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

21

我正在尝试在Ubuntu上为我的Emacs配置Python,但是我遇到了以下错误:

/usr/bin/env: python2: No such file or directory

有人可以帮我解决这个问题吗?我该怎么办才能解决它?


我不确定为什么这个问题被关闭为“离题”,因为这个问题是关于在Ubuntu上设置Python编程环境和在UNIX系统上的第一行Python代码。以下是对这行代码的解释以及如何为您的系统配置它的说明:https://dev59.com/W3E95IYBdhLWcg3wKqsk - Will
我的真实显示是 /usr/bin/env: « python2\r »: No such file or directory/usr/bin/python2 存在。 - Sandburg
3个回答

13

在终端中尝试使用以下命令:

sudo ln -s /usr/bin/python2.6 /usr/bin/python2

或者

sudo apt-get install python2


我希望像以前一样走符号链接路线,但机器最近重新安装了El Capitan。即使使用sudo执行以下命令:sudo ln -s /usr/bin/python2.7 /usr/bin/python2,我仍然会得到“ln:/usr/bin/python2:操作不允许”的错误提示。 - thisleejones
问题已解决。使用ln -sf使其正常工作。我已经使用ls -la | more检查过它是否已经链接,所以即使在阅读了man ln之后,为什么-f也能起作用还是有点神秘的。无论如何,问题已解决。 - thisleejones
3
就我所知,这在我的El Capitan版本上有效:sudo ln -s /usr/bin/python2.7 /usr/local/bin/python2。 - Ariel Malka

9
很可能是这样的。链接/usr/bin/python2 -> (the real one)应该由你的Python软件包提供,但很明显这不是事实,在任何其他可以通过$PATH找到的位置都没有它。
你应该将该链接放在一个(适当的)路径下。

1
但是我已经将Python添加到了环境变量中,当我在命令行中输入"python"时,它确实会打开终端。那么,按照你的建议,我应该如何进行包含呢? - murtaza52
很奇怪。通常env应该检查路径。它还取决于错误发生的情况:你的$PATH与通常不同吗?在shell中which python2输出什么? - glglgl
在“which python2”中,我在shell中没有得到任何东西。我应该如何定义它? - murtaza52
4
停止操作。你输入的是python而不是python2。要么修改脚本调用python而不是python2,要么执行ln -s /usr/bin/python /usr/local/bin/python2。这是一个丑陋的技巧,其实应该由软件包来完成。但我无法告诉你为什么这不是这种情况... - glglgl
1
感谢您的帮助。 - murtaza52

2
在Ubuntu 12.04上,要查找拥有该文件的软件包,请执行以下操作:

使用以下命令:

$ apt-file -F find /usr/bin/python2
python-minimal: /usr/bin/python2

查找依赖于该软件包的软件包:

$ apt-cache rdepends python-minimal
python-minimal
Reverse Depends:
  python2.7-minimal
 |livecd-rootfs
  python-minimal:i386
  python-support
  python2.7-minimal
  python
 |livecd-rootfs

这意味着如果您有python软件包,则应该安装python-minimal软件包,然后您应该拥有/usr/bin/python2文件。

在Emacs中检查/usr/bin是否在$PATH中。如果是,并且您无法从shell中运行/usr/bin/python2,则可以重新安装python-minimal以恢复/usr/bin/python2文件:

$ sudo apt-get --reinstall install python-minimal

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