对于Python脚本,我需要一个特定的Python版本.现在我的Python 2.6安装包含python26和python2.6
我应该把哪一个放在shebang?
选项1:
#!/usr/bin/env python2.6
Run Code Online (Sandbox Code Playgroud)
选项2:
#!/usr/bin/env python26
Run Code Online (Sandbox Code Playgroud)
编辑:是的,有理由不使用普通的python.在我们的大学的一些环境中,python链接到python2.4,我的代码使用了相当多的2.6功能.
您无法始终保证将使用shebang(甚至用户将拥有该版本).
您不应该完全限制特定版本.最好至少需要一个给定的版本(如果你的代码适用于Python 2.6,为什么它不适用于Python 2.7?我可能在几个月内没有安装Python 2.6.)
我会坚持使用/usr/bin/env pythonshebang而是动态检测版本.信不信由你,"正常"的做法是:
import sys
ver = sys.version[:3]
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个3个字符的字符串,如"2.6"或"2.7".我只是检查第一个字符='2'(假设你想阻止Python 3运行你的脚本,因为它很大程度上是不兼容的)和第三个字符> ='6'.
编辑:请参阅Petr的评论 - sys.version_info[0:2]改为使用(给你一对像(2, 6)或(2, 7).
| 归档时间: |
|
| 查看次数: |
4312 次 |
| 最近记录: |