在我们的小组中,我们主要进行搜索引擎架构和内容集成工作,其中大部分代码都是Python。我们所有的构建工具和Python模块依赖项都在源代码控制之中,因此可以将它们检出并加载环境以供使用,而与OS /平台无关,有点类似于virtualenv使用的方法。什么版本的Python(2.4,2.5,2.6,3.0)可以标准化生产开发工作(以及为什么)?
多年以来,我们一直在维护与Python 2.3兼容的代码库,因为我们使用的商业产品之一取决于Python 2.3。多年来,这导致越来越多的问题,因为更新的工具和库需要更新版本的Python,因为2.3在2004年出现。
我们最近将构建环境从商业产品环境的依赖关系中解耦出来,并且可以使用我们想要的任何版本的Python(或Java)。它已经有大约一个月左右的时间了,因为我们将Python 2.6标准化为与以前版本向后兼容的最新版本的Python。
因为我们必须迁移太多的代码库才能使我们的构建和集成工具再次正常工作,所以Python 3.0不是一种选择(暂时)。
我们喜欢Python 2.6的许多新特性,特别是改进的模块和诸如类装饰器之类的东西,但是我们依赖的许多模块导致Python 2.6解释器吐出各种折旧警告。我们感兴趣的另一个工具是管理EC2云群集节点,Supervisor甚至无法与Python 2.6一起正常工作。
现在我想知道是否应该在Python 2.5上标准化,而不是在生产环境工具的开发中使用Python 2.6。我们希望/需要的大多数工具似乎可以与Python 2.5一起正常工作。在Python 2.6特性或模块存在很多依赖性之前,我们正试图对此进行分类。
非常感谢!
-Michael
好的,谢谢你们,到目前为止所有的回复都非常翔实。 :)我仍然没有决定是否要在2.5版本上实现标准化(我们的系统管理员更喜欢由于软件包管理器中的软件包可用性),但迄今为止的评论让我不再犹豫,只是坚持使用Python 2.6并简单地禁止警告在适当情况下。 – Xavian 2009-05-01 17:12:52
只是一个更新,我们已经在Python 2.6上标准化了大约一年,并且它一直在顺利航行。 :) – Xavian 2010-08-24 13:35:57