我已经看过其他几个关于是否使用2.x或3.x的主题。但是,其中大部分至少有两年的历史,不区分2.6和2.7。
我正在重新启动一个我最终可能要在2013年之前发布的科学项目。我在标准的2.6+模块(如itertools)中使用了numpy,scipy和pylab。对于这个版本,2.6或2.7哪个更好?
这也可以清除在制作脚本时是否使用optparse。
编辑:我在大学工作,我选择的工作站有Python 2.4。 2.6到2.7之间的选择决定了要升级到哪个发行版。谢谢你的建议!
答案 0 :(得分:9)
如果您需要的所有内容都适用于2.7我会使用它,没有必要留在2.6。此外,.format()
工作得更好(无需在{}
中为格式化指令的参数指定位置)。
FWIW,我通常使用2.7或3.2并且每隔一段时间我最终将一些代码移植到我的Linux机器箱中仍然运行2.6.5并且格式()很烦人:)
2.7已足以得到很好的支持 - 而且3.x也有望在那里实现。
答案 1 :(得分:2)
如果您打算分发此代码,您的答案实际上取决于您的目标受众。最近在一些私营部门研究实验室的工作表明,Python 2.5仍然经常使用。
另一个例子:EnSight,一个用于3D可视化/操作的商业软件包,附带Python 2.5(如果我没弄错的话,还有NumPy 1.3或1.4)。
对于个人项目,我会拍2.7。对于更多的观众,我会误向2.6。
答案 2 :(得分:1)
绝对是Python 2.7,除非有一个非常令人信服的理由不这样做,这通常意味着缺乏对关键依赖的支持。使用argparse
答案 3 :(得分:1)
截至今天,Enthought的官方distribution使用Python 2.7。默认的Ubuntu python 2.x发行版已经有一段时间了2.7。如果从头开始创建项目,则应使用2.7。
答案 4 :(得分:1)
我个人在我自己的项目中使用Debian stable,所以我很自然地会倾向于分发用作默认的Python安装。对于Squeeze(当前稳定),它是2.6.6但是Wheezy将使用2.7。
为什么这有关系?好吧,作为程序员,有很多次我希望我可以访问更新版本的Python的新功能,但是Debian一般都是如此保守,以至于我发现它是一个很好的衡量标准,可以覆盖更广泛的受众群体。 OS。
由于Wheezy可能会在年底(或明年早些时候)稳定下来,所以我也会转向2.7。