#!/usr/bin/env python
我在一个env python
返回Python 2.2环境的系统上运行这些脚本。我的脚本很快会失败,因为我手动检查了兼容的Python版本:
我在一个env python
返回Python 2.2环境的系统上运行这些脚本。由于我手动检查了兼容的Python版本,所以我的脚本很快就会失败。
if sys.version_info < (2, 4):
raise ImportError("Cannot run with Python version < 2.4")
如果可能的话,我不想在每个可执行文件上都更改shebang行;但是,我没有管理访问权限来更改env python
的结果,也不想强制使用特定版本,例如:
#!/usr/bin/env python2.4
我想避免这种情况,因为系统可能有比Python 2.4更新的版本,或者可能有Python 2.5但没有Python 2.4。
有什么优雅的解决方案吗?
[编辑:] 我在提出问题时没有说得够具体--我想让用户在不需要手动配置(例如修改路径或在~/bin
中创建符号链接,并确保你的PATH在Python 2.2路径之前包含~/bin
)的情况下执行脚本。也许需要某种分发实用工具来防止手动调整?