8

我对为 Python 脚本编写 shebang 的标准方法感到困惑。

我有一个普通的“python”链接,取决于系统,它可能是 Python 2.x 或 Python 3.x,这是一个问题,因为两者都不兼容。

作为一个解决方案,我在我的 shebang 中编写了这个版本,并且有类似的东西:

#!/bin/env python3.2

但这似乎很愚蠢,因为它会阻止我的脚本在任何其他 3.x 版本中运行

我注意到有些系统将 python2 链接到最新版本。这很有帮助,因为这样我就可以编写简单的脚本,比如“Hello World”,它不会在每次发布时都中断。

我已经安装了 Python 2.6、2.7、3.1 和 3.2 从可移植性的角度来看,只使用“python”作为 shebang 没有意义。使用确切的版本会妨碍可维护性。我确实有一个 python2 链接,但不是 python3

是否有任何标准和/或 PEP 指定如何安装 Python?还有一个说我部署到必须有一个 python3 和/或 python2 链接到最新版本?

4

1 回答 1

2

几乎所有适用于 Python 2.x 的东西都可以在 Python 2.7 上保持不变。Python 3.x 和 Python 3.2 也是如此。任何不应该改变的东西(不,应该改变)。

然后它只是通常的命名方案:

Python 2.x

#!/usr/bin/env python

Python 3.x

#!/usr/bin/env python3
于 2012-07-21T21:25:09.220 回答