LinuxUbuntu20.04LTS开发周期重要任务:移除Python2

官方已宣布Python 2将于2020年1月1日后停止维护,而计划于明年4月发布的Ubuntu 20.04将是下一个长期支持版本,所以Ubuntu 20.04的一个重要目标就是移除Python 2。据Ubuntu开发团队介绍,目前仍有许多依赖Python 2的软件包保留在Debian测试版和Ubuntu的"Focal Fossa"中,偿还这些“债务”迫在眉睫。

Ubuntu/Debian项目的开发者Matthias Klose负责为Ubuntu 20.04 LTS移除Python 2,目前已经做了大量的工作。近日他在邮件列表中同步更新了一些进度,并说道Debian中仍然存在大约3300个与Python 2软件包相关的错误,其中大约1500个错误已关闭。另外,大约350个软件包仅在Ubuntu的Focal仓库中可用,在上游Debian中不可用。

所以Matthias认为当前的目标是将尽可能多的软件包从Python 2转换为Python 3,不过这对于许多不再维护的软件包可能会成为问题。对于大多数不兼容Python 3的软件,如果没有人进行必要的移植,它最终将会从存档中删除。最后是一种情况更为特殊的软件,它们于 Ubuntu/Debian而言十分重要,不过仅支持Python 2。如何处理他们?Matthias表示目前仍未确定,但目标是在4月Ubuntu 20.04 LTS发布之前移除Python 2。

对于决定保留基于Python 2的软件包的开发者,Matthias提醒到,请确保该软件包未引用任何python, python-dev, python-dbg, python-doc软件包,并且不使用未加入版本控制的python二进制文件。这些软件包应该使用python2, python2-dev, python2-dbg, python2-doc来替代,并使用python2二进制文件。

不过看起来Matthias也为自己买了坑——他似乎上传过适用于Ubuntu且仅支持 Python2软件包;)