如何找到 Python 在 Unix 上的位置?
Posted
技术标签:
【中文标题】如何找到 Python 在 Unix 上的位置?【英文标题】:How do I find where Python is located on Unix? 【发布时间】:2011-05-21 09:08:11 【问题描述】:我正在为新工作场所开发新服务器,并且我正在尝试重用我今年早些时候用 Python 编写的 CGI 脚本。我的 CGI 脚本以
开头#!/local/usr/bin/python
但是当我在新服务器上运行它时,它抱怨没有这样的文件夹。显然 Python 保存在这个盒子的不同位置,但我不知道在哪里。
我以前没有做过太多的 unix 工作,刚好可以四处走动,所以如果有一些巧妙的技巧我应该在这里知道,我将不胜感激 :)
谢谢!
【问题讨论】:
您可能想在 unix.stackexchange.com 上提出这类问题。这里完全可以接受,但是 unix 是解决这些特定的不是完全编程但与编程相关的问题的好地方 【参考方案1】:试试:
which python
在终端中。
【讨论】:
这不是更简单更准确的问题答案吗?【参考方案2】:出于这个原因,建议您将 shebang 行更改为更加与路径无关:
#!/usr/bin/env python
更多信息请见this mailing list message:
考虑到在不同的机器上,python 可能安装在
/usr/bin/python
或/bin/python
在这些情况下,#!/usr/local/bin/python
将失败。 对于这些情况,我们可以使用参数调用env
可执行文件,这将通过在$PATH
中搜索并正确使用它来确定参数路径。(
env
几乎总是位于/usr/bin/
,所以不必担心env
不存在于/usr/bin
。)
【讨论】:
即使在同一台机器上,当使用virtualenv时,解释器路径也会改变。【参考方案3】:# which python
/usr/local/bin/python
更新:
我看错了。将您的标题替换为
#!/usr/bin/env python
这将从运行脚本环境设置的用户那里拉入 python 位置
【讨论】:
【参考方案4】:试试:which python
或 whereis python
【讨论】:
【参考方案5】:对标头 Python 脚本使用反引号是个好主意:
`which python`
【讨论】:
【参考方案6】:解决这个问题的正确方法是使用
#!/usr/bin/env python
允许在 shebang 的 PATH 中使用二进制文件。
【讨论】:
以上是关于如何找到 Python 在 Unix 上的位置?的主要内容,如果未能解决你的问题,请参考以下文章