我正在为新的工作场所开发新的服务器,我正在尝试重用我今年早些时候在Python中编写的CGI脚本。我的CGI脚本以
开头#!/local/usr/bin/python
但是当我在新服务器上运行它时,它会抱怨没有这样的文件夹。显然Python在这个盒子上保存在不同的位置,但我不知道在哪里。
我之前没有做过很多unix,只是足以绕过,所以如果有一些巧妙的技巧我应该知道这里我会很感激:)
谢谢!
答案 0 :(得分:16)
尝试:
which python
在终端。
答案 1 :(得分:8)
出于这个原因,建议您更改shebang行以更加路径无关:
#!/usr/bin/env python
有关详细信息,请参阅this mailing list message:
考虑在
/usr/bin/python
或/bin/python
可能在#!/usr/local/bin/python
或env
安装不同机器的可能性,$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 python
或whereis python
答案 4 :(得分:1)
解决此问题的正确方法是
#!/usr/bin/env python
允许在shebang中使用PATH中的二进制文件。
答案 5 :(得分:0)
对标题Python脚本使用反引号是个好主意:
`which python`