开源科学项目 - 使用Python 2.6还是2.7?

时间:2012-08-29 21:59:17

标签: python numpy version scipy optparse

我已经看过其他几个关于是否使用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之间的选择决定了要升级到哪个发行版。谢谢你的建议!

5 个答案:

答案 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。