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

时间:2010-12-07 04:35:45

标签: python shell unix directory shebang

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

开头
#!/local/usr/bin/python

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

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

谢谢!

6 个答案:

答案 0 :(得分:16)

尝试:

which python

在终端。

答案 1 :(得分:8)

出于这个原因,建议您更改shebang行以更加路径无关:

#!/usr/bin/env python

有关详细信息,请参阅this mailing list message

  

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

     

env几乎总是位于/usr/bin,因此无需担心{{1}}中不存在{{1}}。)

答案 2 :(得分:3)

# which python
/usr/local/bin/python

更新

我误读了。用

替换标题

#!/usr/bin/env python

这将从运行脚本环境设置的用户拉入python位置

答案 3 :(得分:3)

尝试:which pythonwhereis python

答案 4 :(得分:1)

解决此问题的正确方法是

#!/usr/bin/env python

允许在shebang中使用PATH中的二进制文件。

答案 5 :(得分:0)

对标题Python脚本使用反引号是个好主意:

`which python`