我需要在明年左右将~20k LOC Python 2.7网络应用程序迁移到Python 3.4。我是唯一一个运行它的人,它在Debian 7上,我完全可以控制环境和迁移时间,而且我计划在Debian上切换到Python 3 8(这将是它终于出来后的几个月)。假设所有依赖项都支持Python 3和一个不错的测试套件,我似乎有两个选择:
由于除了迁移之外我还有其他一百万个职责,我知道一个单独的Python 3分支(2to3选项)将闲置数周,而Python 2分支接收数百个需要被带来的紧急提交。第二条路线看起来更具吸引力,因为我可以逐步升级一个代码库以兼容Python 3,但是在两个主要版本的Python中保持一切运行可能还需要做更多工作。
我想知道哪条路线不那么痛苦。从运行2到3到翻转开关有多少工作,以及维护Python 2/3兼容代码库需要多少(额外)工作?我可以阅读任何回顾吗?