python - 您将哪个版本的 Python(2.4、2.5、2.6、3.0)标准化用于生产开发工作(以及为什么)?

标签 python standards production supervisord

在我们的团队中,我们主要从事搜索引擎架构和内容集成工作,并且大部分代码库都是使用 Python 编写的。我们所有的构建工具和 Python 模块依赖项都在源代码控制中,因此无论操作系统/平台如何,都可以 check out 它们并加载环境以供使用,有点类似于方法 virtualenv使用。

多年来,我们一直维护与 Python 2.3 兼容的代码库,因为我们使用的商业产品之一依赖于 Python 2.3。多年来,这导致了越来越多的问题,因为自 2004 年左右推出 2.3 以来,更新的工具和库需要更新版本的 Python。

我们最近将我们的构建环境与对商业产品环境的依赖关系分离,并且可以使用我们想要的任何版本的 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 功能或模块有许多依赖性之前解决这个问题。

非常感谢!

-迈克尔

最佳答案

我不会仅仅因为弃用警告就放弃 2.6;那些会随着时间的推移而消失。 (您可以使用 Python 解释器的 -W ignore 选项来防止它们被打印出来,至少)但是如果您需要使用的模块实际上不适用于 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。同样,这个推理可能不适用于您。

关于python - 您将哪个版本的 Python(2.4、2.5、2.6、3.0)标准化用于生产开发工作(以及为什么)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/812085/

相关文章:

c++ - strincmp 的预期行为是什么?

ruby-on-rails - rake 数据库 :schema:load works in development but not production

python - 极品飞车: Slow nested groupbys and applys in Pandas

Python 3.5.2 非 Ascii 字符输出

c++ - (uint64_t)-1 是否保证产生 0xffffffffffffffff?

带有 CLI 的 Angular 2 - 为生产而构建

docker - 使用 docker 部署应用程序时如何更新我的应用程序

python - glDrawElements 在 PyOpenGL 中绘制立方体

python - 运行节拍时看不到我的 celery 日志

c++ - 是否在C++标准中定义了memcpy(dest,src,0)?