随着Python 3的推出,这不再是必须的。在可预见的未来,我将需要同时开发两个不同的版本,一个适用于Python 2.x,另一个适用于Python 3.x。从开发角度来看,我可以考虑以下几个选项:
1. 在同一分支中维护两个不同的脚本,并同时对两者进行改进。 2. 维护两个独立的分支,并在开发过程中来回合并共同的更改。 3. 只维护一个版本的脚本,并检入一个可以将脚本从一个版本转换为另一个版本的补丁文件。当足够多的更改已经被做出,使得补丁无法干净地应用时,解决冲突并创建一个新的补丁。
目前我倾向于选择第三种选项,因为前两种会涉及到很多容易出错的琐碎工作。但是第三个选项似乎有些混乱,我的源代码控制系统应该为我管理补丁。
对于分发包装,可以选择更多的选项:
1. 提供两个不同的下载包,一个适用于Python 2,另一个适用于Python 3(用户必须知道为其使用的Python版本下载正确的包)。 2. 提供一个下载包,其中包含两个不同的脚本(然后用户必须知道运行正确的那个)。 3. 一个下载包含两个特定版本的脚本,并且具有一个小型存根加载程序,可以在两个Python版本中运行,并运行安装的Python版本的正确脚本。
再次强调,目前我倾向于第三种选项,尽管我还没有尝试开发这样的存根加载程序。
是否有其他想法?