Xav*_*ian 5 python standards production supervisord
在我们的小组中,我们主要进行搜索引擎架构和内容集成工作,大部分代码基础都在Python中.我们所有的构建工具和Python模块依赖项都在源代码控制中,因此可以检出它们并加载环境以供os/platform使用,类似于virtualenv使用的方法.
多年来,我们一直保持与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.6; 那些会随着时间的推移而消失.(您可以使用-W ignorePython解释器的选项来防止它们被打印出来,至少)但是如果您需要使用的模块实际上不能与Python 2.6一起使用,那么这将是保持2.5的合理理由.Python 2.5现在已经广泛使用,可能会持续很长时间(考虑到2.3已经持续了多长时间!),所以即使你使用2.5,你也不会被迫升级一段时间.
我将Python 2.5用于我的所有开发工作,但仅仅因为它是Gentoo(Linux)的软件包存储库中可用的版本.当Gentoo维护者声明Python 2.6"稳定"时*,我将切换到那个.当然,这种推理不一定适用于你.
*Python 2.6实际上是稳定的,它在Gentoo中没有被声明的原因是Gentoo依赖于其他程序,这些程序本身依赖于Python并且尚未升级到2.6.同样,这种推理可能不适用于你.