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

Ada*_*dam 10 python unix directory shell shebang

我正在为一个新的工作场所开发一个新服务器,我正在尝试重用我今年早些时候在Python中编写的CGI脚本.我的CGI脚本开始于

#!/local/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

但是当我在新服务器上运行它时,它会抱怨没有这样的文件夹.显然Python在这个盒子上保存在不同的位置,但我不知道在哪里.

我之前没有做过很多unix,只是足以绕过,所以如果有一些巧妙的技巧我应该知道在这里我会很感激:)

谢谢!

icy*_*com 17

尝试:

which python
Run Code Online (Sandbox Code Playgroud)

在一个终端.


Joh*_*ica 8

出于这个原因,建议您将shebang行更改为与路径无关:

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此邮件列表消息:

考虑在不同的机器中,可能在这些情况下/usr/bin/python/bin/python在这些情况下安装python的可能性#!/usr/local/bin/python将会失败.对于这些情况,我们可以env使用参数调用可执行文件,该参数将通过搜索$PATH并正确使用它来确定参数路径.

(env几乎总是位于,/usr/bin/所以不用担心,env不存在/usr/bin.)