【发布时间】:2008-09-02 21:21:14
【问题描述】:
在我所有可执行的 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 路径之前)。也许需要一些分发实用程序来防止手动调整?
【问题讨论】:
标签: python executable environment shebang