我对为 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 链接到最新版本?
最佳答案
几乎所有适用于 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
关于python - 在 Unix 中为 Python 安装命名以及 shebang 的良好使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595784/