如何在Unix上找到Python的位置?
我正在为一个新的工作场所搭建服务器,想要重用我今年早些时候写的一个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
里。)