python - 有没有一种标准方法来确保 python 脚本将由 python2 而不是 python3 解释?

标签 python unix scripting python-3.x shebang

是否有一种标准方法可以确保 python 脚本将由 python2 而不是 python3 解释?在我的发行版中,我可以使用 #!/usr/bin/env python2 作为 shebang,但似乎并非所有发行版都提供“python2”。我可以显式调用 python 的特定版本(例如 2.6),但这会排除没有该版本的人。

在我看来,当发行版开始将 python3 作为默认 python 解释器时,这将成为一个越来越大的问题。

最佳答案

http://docs.python.org/library/sys.html#sys.version_info

使用 sys 模块,您可以确定正在运行的 python 版本并引发异常或退出或任何您喜欢的。

更新:

您可以使用它来调用适当的解释器。例如,设置一个为您进行检查的小脚本,并在 shbang 中使用它。它会检查正在运行的 python 版本,如果不是你想要的,就会寻找你想要的。然后它会在那个版本的 python 中运行脚本(或者如果没有发现任何好的东西就会失败)。

关于python - 有没有一种标准方法来确保 python 脚本将由 python2 而不是 python3 解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586776/

相关文章:

C UNIX write() 函数插入奇怪的字符而不是空格

java - 从正在运行的 java 程序的内存中定位并读取特定类型的对象

linux - 使用 grep 和 ls -a 命令

windows - 如何扩展 CMD shell 变量两次(递归)

linux - DD 脚本和操作数预期错误

php - 复选框和 MySQL

python - Autoprefixer 过滤器在 Flask_Assets 中不起作用

跨选择的 Python Pandas XlsxWriter 中心

python - 如何获取元素的随机 ID?

python - 从行列表(稀疏向量)创建稀疏矩阵