因此,随着 Python 3.0(现在是 3.1)的最终版本,很多人都面临着如何升级而不因向后不兼容而丢失一半代码库的担忧。
人们有哪些最佳技巧可以避免切换到下一代 Python 时几乎不可避免地出现的许多陷阱?
也许一个好的起点是“使用 2to3 将 python 2.x 代码转换为 3.x”:-)
首先,这个问题非常类似于您计划如何迁移到 Python 3?。检查那里的答案。
还有一个section在 Python Wiki 中有关将应用程序移植到 Python 3.x 的内容
The python 3.0 发行说明包含有关移植的部分。我引用那里的提示:
- (先决条件:)从出色的测试覆盖率开始。
- 移植到 Python 2.6。这应该不比一般的工作多
从 Python 2.x 到 Python 2.(x+1)。
确保所有测试都通过。
- (仍然使用2.6:)打开-3命令行开关。这将启用有关将要使用的功能的警告
在 3.0 中删除(或更改)。运行你的
再次测试套件,并修复代码
你会收到警告,直到有
没有留下任何警告,以及您所有的测试
还是过去了。
- 在源代码树上运行 2to3 源到源转换器。
(参见 2to3 - 自动化 Python 2 到 3
代码翻译以获取更多相关信息
工具。)运行结果
Python 3.0 下的翻译。手动
解决任何剩余的问题,修复
直到所有测试再次通过为止。
不建议尝试写
源代码在以下情况下运行不变
Python 2.6 和 3.0;你必须
使用非常扭曲的编码风格,
例如避免打印语句,
元类等等。如果你是
维护一个需要的库
同时支持Python 2.6和Python
3.0,最好的方法是通过编辑 2.6 来修改上面的步骤 3
源代码版本和运行情况
再次使用 2to3 翻译器,而不是
编辑3.0版本的源码
代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)