我对为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?
答案 0 :(得分:2)
几乎任何适用于Python 2.x的东西都可以与Python 2.7一起使用。 Python 3.x和Python 3.2也是如此。任何不应该改变的东西(不是真的,它应该)。
然后它只是通常的命名方案:
#!/usr/bin/env python
#!/usr/bin/env python3