Python 2 与 3 共存了 11 年,新年就要和它道别
在 python 3.9 都已经进入 dev 版本的 2020 年,python 2 终于要和我们告别了。
2 and 3
python 2 第一个版本发布于 2000 年 10 月 16 日,到今年正好是第 20 个年头。而 python 3 发布于 2008 年 12 月 3 日,但由于 3.0 版本在底层进行了大量重构(主要是 unicode 与 c api 的改动),无法完整兼容 python 2,因此官方并没有停止对 python 2 的维护。
从此 2 与 3 依然都在发布新版本,官方想通过平滑的方式过渡到新版本。然而并不是所有的社区贡献者有这种精力去同时维护两个版本,许多开源库它们至今都停更在 2.x 版本。
两版本共存的日子,一晃就是 11 年。
2 to 3
好在 python 3 更新了越来越多独有的特性与性能优化,加上社区的不断努力推动,在近几年爆发增长的初学者当中,大部分都被推荐使用了 3.x 版本作为入门版本,3 版本在近几年才占据了主导。
终于 python 核心开发团队对外宣布,将在 2020 年逐步停止对 python 2 的支持,但并没有给出具体时间。
2017 年 numpy 正式宣布将在 2019 年 1 月 1 日停止支持 python 2。之后 pandas 与 jupyter notebook 等开发团队纷纷宣布即将停止支持 2.x 版本。
2018 年 python 创始人 guido van rossum 在官方邮件组表示,他们将于 2020 年 1 月 1 日停止对 python 2.7 的支持,这也是 2.x 最后一个版本。
他在邮件写道:
不要玩文字游戏了!python 2.7 的 eol(停用)日期是 2020 年 1 月 1 日,接下来,将不会有任何更新,也不会再有源码安全补丁。在此日期之后,python 核心开发者、psf 和 python.org 将不会提供任何支持。如果你还想获得支持,那得付相关商业费用。当然,它是开源的,所以我们也欢迎大家 fork。
我们最初决定 2015 年为 eol 日期,然后推迟到 2020 年,给大家的时间已经很充足了,核心开发者也辛苦太久了。此外,坦诚地说,我并不觉得停用 python 2.7 是件坏事。
after 3
不过停止更新并不会有多大的影响,因为根据 jetbrains 最新的 python 开发者报告显示,近九成的开发者已经使用 python 3 版本。
相信在 2020 年使用 python 2 的开发者将低于 5%。
如果你有代码想迁移 python 3,别忘了尝试使用官方提供的 迁移工具。
另外 3.9 版本已经有 dev 版本了,留给 python 3 的版本号也到头了(除非使用两位数),后续 python 怎么走,咱们拭目以待。
最后祝各位读者快乐!