如何在Unix上找到Python的位置?

16 投票
6 回答
58037 浏览
提问于 2025-04-16 08:09

我正在为一个新的工作场所搭建服务器,想要重用我今年早些时候写的一个Python CGI脚本。我的CGI脚本开头是这样的:

#!/local/usr/bin/python

但是当我在新服务器上运行这个脚本时,它却说找不到那个文件夹。显然,Python在这个服务器上的位置和我之前的不一样,但我不知道它到底在哪里。

我之前对Unix系统了解不多,只是够用,所以如果你有什么好办法可以告诉我,我会很感激的 :)

谢谢!

6 个回答

4
# which python
/usr/local/bin/python

更新

我看错了。请把你的文件头改成

#!/usr/bin/env python

这样做会根据运行这个脚本的用户的环境设置,自动找到Python的安装位置。

30

试试这个:

which python

在终端中输入。

9

正因为这个原因,建议你把你的shebang行改得更灵活一些,不要固定路径:

#!/usr/bin/env python

想了解更多信息,可以查看这条邮件列表消息

想象一下,如果在另一台机器上,Python可能安装在/usr/bin/python或者/bin/python,那么在这种情况下,#!/usr/local/bin/python就会出错。

为了应对这种情况,我们可以使用env这个命令,它会根据环境变量$PATH来找到Python的正确路径并使用它。

(env几乎总是在/usr/bin/这个位置,所以不用担心env不在/usr/bin里。)

撰写回答