我正在为一个新的工作场所开发一台新服务器,并且我正在尝试重用我今年早些时候用 Python 编写的 CGI 脚本。我的 CGI 脚本以
#!/local/usr/bin/python
但是当我在新服务器上运行它时,它抱怨没有这样的文件夹。显然 Python 保存在这个盒子的不同位置,但我不知道在哪里。
我以前没有做过太多的unix,刚好可以四处走动,所以如果有一些巧妙的技巧我应该在这里知道,我会很感激:)
谢谢!
尝试:
which python
在一个终端。
出于这个原因,建议您将 shebang 行更改为更加路径不可知:
#!/usr/bin/env python
有关更多信息,请参阅此邮件列表消息:
考虑在不同的机器上安装 python 的可能性,
/usr/bin/python
或者/bin/python
在这些情况下#!/usr/local/bin/python
会失败。对于这些情况,我们可以使用参数调用可执行文件,这将通过在中搜索并正确使用它env
来确定参数路径。$PATH
(
env
几乎总是位于,/usr/bin/
因此不必担心env
不存在于/usr/bin
。)
# which python
/usr/local/bin/python
更新:
我看错了。将您的标题替换为
#!/usr/bin/env python
这将从运行脚本环境设置的用户那里拉入 python 位置
尝试:which python
或whereis python
对标头 Python 脚本使用反引号是个好主意:
`which python`
解决这个问题的正确方法是
#!/usr/bin/env python
这允许在 shebang 的 PATH 中使用二进制文件。