1

我确定这在某处有据可查,但我找不到!我想让我的脚本可移植到可能在同一位置没有 Python 解释器的机器上。出于这个原因,我认为我可以将第一行编码为#!python3而不是使用解释器的绝对路径,如#!/usr/local/bin/python3.

毫无疑问,你们中的大多数人都明白为什么这不起作用,但我不知道。尽管我的实验室伙伴并没有抱怨必须重新编码我的脚本以反映他们自己机器上解释器的绝对路径,但这似乎没有必要。我会非常满意提供相应文档链接的回复。提前致谢。

4

2 回答 2

3

shebang 行后面给出的路径#!是绝对路径,所以根本python3行不通。你应该使用

#!/usr/bin/env python3

python3PATHPOSIX 机器上查找。当然,这只会在 Python 解释器位于PATH环境变量中给定的某个目录中时找到。

于 2012-07-26T17:04:40.327 回答
2

env是一个处理这类事情的程序。您几乎应该总是使用类似的东西#! /usr/bin/env python3作为您的 shebang 线,而不是指定绝对路径。

于 2012-07-26T17:04:48.820 回答