2

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

4

5 回答 5

9

如果您需要的一切都可以与 2.7 一起使用,我会使用它,那么继续使用 2.6 毫无意义。此外,.format()工作得更好一些(无需{}在格式化指令的参数中指定位置)。

FWIW,我通常使用 2.7 或 3.2,每隔一段时间我就会将一些代码移植到我的 Linux 机器上,它仍然运行 2.6.5,而 format() 的事情很烦人:)

2.7 已经足够得到很好的支持——3.x 也有望实现。

于 2012-08-29T22:01:30.190 回答
2

如果您打算分发此代码,您的答案实际上取决于您的目标受众。最近在一些私营部门研究实验室的工作表明,Python 2.5 仍然经常使用。

另一个例子:EnSight,一个用于 3D 可视化/操作的商业包,附带 Python 2.5(如果我没记错的话,还有 NumPy 1.3 或 1.4)。

对于个人项目,我会为 2.7 拍摄。对于更多的观众,我会错误地选择 2.6。

于 2012-08-29T22:20:38.010 回答
1

我个人将 Debian stable 用于我自己的项目,所以我很自然地倾向于使用该发行版作为默认 Python 安装的内容。对于 Squeeze(当前稳定),它是 2.6.6,但 Wheezy 将使用 2.7。

为什么这是相关的?好吧,作为一名程序员,有很多次我希望我能够访问更新版本的 Python 的新功能,但总的来说 Debian 非常保守,我发现它是一个很好的衡量标准,可以覆盖可能正在运行旧版本的更广泛的受众操作系统。

由于 Wheezy 可能会在今年年底(或明年早些时候)变得稳定,我也将转向 2.7。

于 2012-08-30T20:37:39.293 回答
1

绝对是 Python 2.7,除非有真正令人信服的理由不这样做,这通常意味着缺乏对关键依赖项的支持。使用argparse

于 2012-08-29T22:05:40.827 回答
1

截至今天,Enthought 的官方发行版使用 Python 2.7。默认的 Ubuntu python 2.x 发行版是 2.7 已经有一段时间了。如果你是从头开始一个项目,你应该使用 2.7。

于 2012-08-29T22:08:00.517 回答