在我所有可执行 Python 脚本的开头,我放了shebang行:
#!/usr/bin/env 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~/bin
在 Python 2.2 路径之前具有)。也许需要一些分发实用程序来防止手动调整?