有没有标准的方法来确保python脚本由python2而不是python3解释?在我的发行版上,我可以使用#/usr/bin/env python2作为shebang,但似乎并非所有发行版都发布"python2".我可以显式地调用python的特定版本(如2.6),但这将排除没有该版本的人.
在我看来,当发行版开始将python3作为默认的python解释器时,这将越来越成为一个问题.
有没有标准的方法来确保python脚本由python2而不是python3解释?在我的发行版上,我可以使用#/usr/bin/env python2作为shebang,但似乎并非所有发行版都发布"python2".我可以显式地调用python的特定版本(如2.6),但这将排除没有该版本的人.
在我看来,当发行版开始将python3作为默认的python解释器时,这将越来越成为一个问题.
在一个非常长的过渡期内,这是一个有点混乱的问题.不幸的是,除了让Python脚本本身在启动后进行判断之外,没有什么简单、跨平台的方法来保证调用的是哪个Python版本.许多(如果不是大多数的话)发布Python3的发行版都在确保generic python
命令在默认情况下被别名化为最新的Python2版本,而python3
被别名化为最新的Python3版本.应该鼓励那些不这样做的发行.但不能保证用户不会覆盖它.我认为在可预见的future ,最好的做法是包装商、分销商和用户假设python
指的是Python 2,并在必要时在脚本中构建运行时判断.