Python 2 與 3 共存了 11 年,新年就要和它告別
來源:
奇酷教育 發(fā)表于:
在 Python 3 9 都已經(jīng)進入 dev 版本的 2020 年,Python 2 終于要和我們告別了。
2 and 3
Python 2 第一個版本發(fā)布于 2000 年 10 月 16 日,到今年正好是第 20 個年頭。而 Python 3 發(fā)布于 2008 年 12 月 3 日,但由于 3.0 版本在底層進行了大量重構(gòu)(主要是 Unicode 與 C API 的改動),無法完整兼容 Python 2,因此官方并沒有停止對 Python 2 的維護。
從此 2 與 3 依然都在發(fā)布新版本,官方想通過平滑的方式過渡到新版本。然而并不是所有的社區(qū)貢獻者有這種精力去同時維護兩個版本,許多開源庫它們至今都停更在 2.X 版本。
兩版本共存的日子,一晃就是 11 年。
2 to 3
好在 Python 3 更新了越來越多獨有的特性與性能優(yōu)化,加上社區(qū)的不斷努力推動,在近幾年爆發(fā)增長的初學(xué)者當(dāng)中,大部分都被推薦使用了 3.X 版本作為入門版本,3 版本在近幾年才占據(jù)了主導(dǎo)。
兩版本使用比例趨勢
終于 Python 核心開發(fā)團隊對外宣布,將在 2020 年逐步停止對 Python 2 的支持,但并沒有給出具體時間。
2017 年 NumPy 正式宣布將在 2019 年 1 月 1 日停止支持 Python 2。之后 pandas 與 Jupyter notebook 等開發(fā)團隊紛紛宣布即將停止支持 2.X 版本。
2018 年 Python 創(chuàng)始人 Guido van Rossum 在官方郵件組表示,他們將于 2020 年 1 月 1 日停止對 Python 2.7 的支持,這也是 2.X 最后一個版本。
Guido 郵件截圖
他在郵件寫道:
不要玩文字游戲了!Python 2.7 的 EOL(停用)日期是 2020 年 1 月 1 日,接下來,將不會有任何更新,也不會再有源碼安全補丁。在此日期之后,Python 核心開發(fā)者、PSF 和 python.org 將不會提供任何支持。如果你還想獲得支持,那得付相關(guān)商業(yè)費用。當(dāng)然,它是開源的,所以我們也歡迎大家 fork。
我們最初決定 2015 年為 EOL 日期,然后推遲到 2020 年,給大家的時間已經(jīng)很充足了,核心開發(fā)者也辛苦太久了。此外,坦誠地說,我并不覺得停用 Python 2.7 是件壞事。
After 3
不過停止更新并不會有多大的影響,因為根據(jù) JetBrains 最新的 Python 開發(fā)者報告顯示,近九成的開發(fā)者已經(jīng)使用 Python 3 版本。
JetBrains 開發(fā)者報告
相信在 2020 年使用 Python 2 的開發(fā)者將低于 5%。
如果你有代碼想遷移 Python 3,別忘了嘗試使用官方提供的 2to3[1] 遷移工具。
另外 3.9 版本已經(jīng)有 dev 版本了,留給 Python 3 的版本號也到頭了(除非使用兩位數(shù)),后續(xù) Python 怎么走,咱們拭目以待。