升级到python 3.0的提示?[重复]


问题内容

这个问题已经在这里有了答案

您打算如何处理向Python 3的迁移? (7个答案)

6年前关闭。

因此,在Python 3.0的最终版本(以及现在的3.1)中,由于向后不兼容,许多人都面临着如何升级而又不会损失一半代码库的担忧。

人们最好的秘诀是什么,以避免切换到下一代python几乎不可避免地导致许多陷阱?

可能一个不错的起点是“使用2to3将python 2.x代码转换为3.x” :-)


问题答案:

首先,这个问题与您计划如何处理向Python 3的迁移非常相似。检查那里的答案。

Python
Wiki中还有一介绍如何将应用程序移植到Python3.x。

为Python
3.0发行说明
包含有关移植部分。我在这里引用提示:

  1. (前提:)首先要进行出色的测试。
  2. 移植到Python 2.6。这应该比从Python 2.x到Python 2.(x + 1)的平均性能更多。确保所有测试均通过。
  3. (仍然使用2.6
    :)打开-3命令行开关。这将启用有关将在3.0中删除(或更改)的功能的警告。再次运行您的测试套件,并修复收到警告的代码,直到没有警告出现,并且所有测试仍然通过。
  4. 在源代码树上运行2to3源到源转换器。(有关此工具的更多信息,请参见2to3-自动Python 2到3代码转换。)在Python
    3.0下运行转换结果。手动修复所有剩余的问题,修复问题,直到所有测试再次通过。

不建议尝试编写在python
2.6和3.0下都可以运行的源代码。您将不得不使用非常扭曲的编码样式,例如,避免使用打印语句,元类等等。如果要维护一个需要同时支持Python
2.6和Python 3.0的库,最好的方法是通过编辑2.6版本的源代码并再次运行2to3转换器来修改上述步骤3,而不是编辑该版本的3.0版本。源代码。