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