Python 2 與 3 共存了 11 年,新年就要和它告別

>在 Python 3.9 都已經進入 dev 版本的 2020 年,Python 2 終於要和咱們告別了。html

2 and 3

Python 2 第一個版本發佈於 2000 年 10 月 16 日,到今年正好是第 20 個年頭。而 Python 3 發佈於 2008 年 12 月 3 日,但因爲 3.0 版本在底層進行了大量重構(主要是 Unicode 與 C API 的改動),沒法完整兼容 Python 2,所以官方並無中止對 Python 2 的維護。python

今後 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 最後一個版本。性能

Guido 郵件截圖

他在郵件寫道: >不要玩文字遊戲了!Python 2.7 的 EOL(停用)日期是 2020 年 1 月 1 日,接下來,將不會有任何更新,也不會再有源碼安全補丁。在此日期以後,Python 核心開發者、PSF 和 python.org 將不會提供任何支持。若是你還想得到支持,那得付相關商業費用。固然,它是開源的,因此咱們也歡迎你們 fork。
咱們最初決定 2015 年爲 EOL 日期,而後推遲到 2020 年,給你們的時間已經很充足了,核心開發者也辛苦過久了。此外,坦誠地說,我並不以爲停用 Python 2.7 是件壞事。優化

After 3

不過中止更新並不會有多大的影響,由於根據 JetBrains 最新的 Python 開發者報告顯示,近九成的開發者已經使用 Python 3 版本。ui

JetBrains 開發者報告

相信在 2020 年使用 Python 2 的開發者將低於 5%。

若是你有代碼想遷移 Python 3,別忘了嘗試使用官方提供的 2to3 遷移工具。

另外 3.9 版本已經有 dev 版本了,留給 Python 3 的版本號也到頭了(除非使用兩位數),後續 Python 怎麼走,我們拭目以待。

最後祝各位讀者新年快樂!


本文屬於原創,首發於微信公衆號「面向人生編程」,如需轉載請後臺留言。

相關文章
相關標籤/搜索