python == python2 或 python == python3 ?如何打包、分发python py2k脚本?

Grz*_*cki 11 scripting packaging compatibility python

取决于系统,python==python2python== python3

可执行的 Python 脚本,以:

#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Run Code Online (Sandbox Code Playgroud)

对于 python py3k,它在文档中提供,我应该/可以将它与版本号一起使用,所以我这样做:

#!/usr/bin/env python3
Run Code Online (Sandbox Code Playgroud)

但是我发现 py2k 脚本有问题。

py2k 文档中,它被编写为使用 : #! /usr/bin/env python,

在某些 *nix-es python py3k 是默认的,所以 python==python3. (例如ArchLinux python 包,这里是python 包文件)。

如何打包(配置、制作)和/或准备用于分发的 Python 脚本来处理它?

我问的是如何制作用户可以轻松运行的软件包(无需修改他们的环境)

我可以对 python py2k 脚本执行与 python py3k 脚本相同的技巧并将其设置为 :#!/usr/bin/env python2吗?我可以确定每个 python py2k 发行版都包含python2文件,所以#!/usr/bin/env python2会起作用吗?

如果是,为什么不建议将其作为标准,例如在python py2k 文档中

Doc*_*ger 1

在旧版本上,可能只是python代替python2. 为了使您的 sheebang 线更清晰,您可以创建一个链接python2 -> python,以便您可以使用#!/usr/bin/env python2.