我正在编写必须在许多不同的类 UNIX 版本上运行的脚本。这些是用 python 2.x 编写的。
不幸的是,一些较新的版本已将这种风味的二进制文件称为“python2”而不是“python”。因此,“#!/usr/bin/env python”无法查找正确安装的 python 解释器。要么我得到版本 3 解释器(坏),要么根本没有解释器(更糟!)
有没有一种聪明的方法来编写 python 脚本,如果安装了 python2 解释器,它将加载,否则如果安装了 python 解释器?我必须使用其他机制来检测“python”何时是 python3,但由于那时我处于类似 python 的环境中,所以我可以忍受。
我想我可以编写一个涟漪启动器,将其称为“findpython2”,并将其用作 #! 脚本的解释器,但这意味着我必须在搜索路径中安装 findpython2,这绝对是次优的(这些脚本通常通过绝对引用调用,因此它们不在路径中。)