官方倒計時:Python2的壽命還剩113天,逾期停止維護

2021-01-10 騰訊網

機器之心報導

機器之心編輯部

作為目前最為流行的程式語言,Python 的出現讓計算機編程不再是生僻的專業技能,而是常人都能學習和使用的萬金油,它也是人工智慧領域裡最為常用的語言之一。不過在三個月內,Python 或許要經歷史上最大的一次變化。

昨天,Python 官方網站的一紙聲明《Python 2 的落幕》引發了人們的廣泛討論:該開發社區表示,官方對於 Python 2 的支持將會在 2020 年 1 月 1 日結束,在這之後即使是出現安全問題,舊版本的語言也不會得到任何改進。人們現在必須立即轉移到 3.0 以上版本了。

目前,仍有一些開發者以志願者的身份維護 Python2 語言。不過他們已共同決定,2020 年 1 月 1 日將是 Python2「生命終結」的那一天。該日之後,所有 Python2 相關的維護都將終止。

為什麼 Python2 更新到 Python3 這麼慢

不太了解編程的讀者可能會有個疑問:總是提 Python3 比 Python2 好太多,為什麼還是有人不更新呢?

機器之心認為可能主要有以下幾個原因:

1. 工程穩定性相比軟體的更新速度更為重要。

程式語言是構成軟體的基石,程式語言如果發生了更新換代,軟體的更新不是一件小事,需要全面地對所有代碼進行更新。在這一過程中,如果出現新舊版本不兼容、代碼穩定性變差等情況,可能會影響到用戶的持續使用。因此,對於一些版本迭代,很多軟體開發者選擇不更新。寧可保證用戶使用的穩定性,也不能急於更新到最新版本。

2. Python 官方「允許」Python2 持續存在。

Python 官方在文檔中也提到,大版本的更新有可能會「傷害」開發者。具體而言,如果在 2006 年就迅速要求開發者放棄 Python2,則很多開發者可能因為開發成本問題,直接放棄 Python。繁榮的開發者社區是維持 Python 程式語言地位的重要條件,因此官方一直在更新維護 Python2,讓更多的開發者留存在社區中。

3. Python2 確實也好用。

雖然相比 Python3,Python2 存在很多大的問題,但是 Python2 依然也是一個開發者友好的 Python 版本,在 Python2 時期就有很多開源庫支持了。因此,一些開發者希望繼續使用 Python2。

這些原因下來,Python3 取代 Python2 的進程就拖了十來年。不過,隨著機器學習的發展,機器學習領域對程式語言的性能有很高的要求,且大部分新的工具都支持 Python3。因此,使用性能更好,有更多工具支持的 Python3 成為了開發者的必然選擇。

放棄支持 Python2 的軟體列表

2017 年,機器之心曾報導過將會放棄 Python2 的開源工具。目前,這一列表又長了很多。

TensorFlow、Scikit-learn、Pandas、XGBoost 等工具已經準備放棄 Python2。

同時停止支持的還包括 Numpy、Matplotlib、Jupyter Notebook 等。

還有很多如 Cython、IPython 在內的工具。

以上為已經放棄 Python2 的開源工具列表(不完全統計)。從這個列表可以看到,Python 的生態系統是多麼龐大。

下表顯示了多個項目確定停止支持 Python 2 的時間。從該表中可以得知每個項目的某個版本是否支持 Python 2、發布時間線以及擴展支持的時間。(Python 自己的時間線:https://docs.python.org/devguide/#status-of-python-branches)

官方答疑

官方同時提供了一些相關的答疑,機器之心整理如下:

為什麼要終止 Python2?

答:終止 Python2 是因為我們要更好地幫助開發者。

Python2 是 2000 年發布的。一些年之後,我們意識到需要對 Python 進行一次大的更新升級。因此在 2006 年,我們開始了 Python3 的開發工作。因為很多人在當時沒有更新,而我們也不希望這次更新給他們造成損害,因此多年來我們一直在維護並公開新的 Python2 和 Python3 版本。

但是這樣一來,維護 Python 的工作變得非常困難。Python2 中有一些改進和維護是很難進行下去的。這會擠佔我們提升 Python3 速度和性能的精力。

而且,如果還有很多人繼續使用 Python2,那些用 Python 開發程序的開源工作者工作起來會更困難。他們不能使用 Python3 中的新特性讓開源工具變得更好用。

我們不想傷害使用 Python2 的開發者,因此在 2008 年,我們宣布 Python2 將在 2015 年終止,並希望大家能夠更新。當時,一些人更新了,但是還有一些人留在了 Python2 上,因此我們將終止時間推後到了 2020 年。

目前 Python2 還有多久的壽命?

答:從 2019 年 9 月 10 日起算還有 3 個月 21 天。有一個倒計時,在 pythonclock.org (https://pythonclock.org/) 網站上。

機器之心在發稿時對倒計時網站的截圖。

如果沒有升級,會怎麼樣?

答:在終止日期到來後,即使用戶發現了 Python2 上的災難性安全問題,或者在 Python2 開發的軟體中發現了這些問題,志願者也不會幫助修復。如果用戶需要 Python2 相關的軟體協助,志願者也不會提供幫助,並且越來越少的志願者能夠幫助到這些用戶。同時,用戶可能會失去使用優秀開源工具的機會,因為他們都是基於 Python3 開發的。同時,使用 Python2 的用戶可能會拖慢其他使用 Python3 進行開發的人員的工作進度。

如何將 Python2 代碼轉為 Python3?

答:請參閱官方提供的指南。

指南地址:https://docs.python.org/3/howto/pyporting.html

如果用戶基於 Python2 開發了一些軟體,應該怎麼做?

答:如果是從供應商那裡購買的軟體或軟體支持,則詳情可諮詢他們;如果是從開發者或系統管理員那裡付款獲得的軟體,則諮詢這些開發者或管理員。如果二者均不是,則點擊「Can I Use Python3?」頁面查找升級到 Python3 所需要的工具。

caniusepython3 頁面地址:https://pypi.org/project/caniusepython3/

是否有人員可以提供用戶幫助?

答:是的。如果你付錢購買擴展支持,則與供應商聯繫。如果你可以付錢聘請一些人來幫助你,則可以在求職面板上發帖或直接聘請諮詢人員。如果你需要志願者提供免費幫助,則可以查看以下幫助頁:https://www.python.org/about/help/。

用戶直到現在才聽說 Python2 升級事宜。在哪裡宣布的升級通知?

答:我們在軟體會議、Python 通知郵件列表、Python 官方博客、相關參考書和技術文章、社交媒體以及與出售 Python 支持的公司都討論過 Python2 的升級事宜。

用戶怎樣才能確保下次及時收到升級通知呢?

答:從供應商那裡購買 Python 支持,或者訂閱 Python 通知郵件列表。

訂閱地址:https://mail.python.org/mailman3/lists/python-announce-list.python.org/

從答疑來看,Python2 會被徹底拋棄。即使出現零日漏洞也不會有安全更新了,用戶要抓緊升級,以免出現安全問題而得不到技術支持。

轉移需儘早

目前,得到良好維護的開源項目大多已經轉移到 Python 3 上了。你能找到的 Python2 項目源碼,基本都是比較早期不再維護的項目,或是一些系統級項目(因為 Linux 和 MacOS 都自帶 Python2.7)。根據 JetBrains 最新的 Python 開發者調查,大約 80% 開發者已在使用 3.5+ 版本。要知道在兩年前,使用 Python 3 的比例還只有三分之一。

Python 早已經提供了 2 to 3 自動化工具,僅需一行命令就可以將 Python 2 代碼轉成 3。在 HackerNews 上,很多人對於 Python 2 支持的結束展開了討論。

有網友表示:「Python 2 到 3(至少是 3.3 版本以上)是我做過最容易的過渡之一。我們可以通過庫(Six)的幫助來完成轉移,在幾乎所有的情況下你都可以編寫 2 到 3 版本兼容的代碼,這意味著轉移可以以每次一小部分的形式進行。至於依賴項,開發者們也已幫助升級了很多第三方模塊。」

總之,「如果人們用抱怨此事一半的精力去研究如何升級,轉移到 3.x 版本的工作五年前就應該完成了。」根據經驗,除非你的項目有非常罕見且不可替代的依賴項,或者龐大的 C 語言擴展,否則版本的轉移會很容易。

機器之心也在去年 1 月份為讀者朋友準備了一份遷移指南。感興趣的朋友可以閱讀。

本文為機器之心報導,轉載請聯繫本公眾號獲得授權。

---

相關焦點

  • 《想停止的瞬間》,擁有看見生命倒計時之眼是什麼體驗
    如果你能看見生命的倒計時,你會做什麼?《想停止的瞬間》這個金亨植執導,李聖經等主演的月火劇,講述了能看到別人和自己生命倒計時的不幸女人,自己的生命只剩下100多天,只能看著生命流逝卻沒辦法改變什麼,卻遇見了一個可以輕易暫停她時間的男人的奇幻魔法愛情故事。李聖經的顏值一直都很受大家認可,之前她主演的《舉重妖精金福珠》也廣受歡迎。
  • 如果停止創新,「離倒閉還剩200天」
    歡迎關注《中國青年》雜誌官方微信原載於《中國青年》雜誌2021年第1期賀羽的辦公室陳設簡潔,最顯眼的是條紅色的、有些褪色的橫幅,上面寫著,「國儀公司離倒閉還有200天。」這麼一句「難聽話」在賀羽眼前掛了兩年,賀羽說這是他們估算過的數字,如果現在停止創新,到公司倒閉,大概就剩200天的時間。
  • 倒計時2天 華為官方預熱發nova 2s海報
    如今,距離這款手機發布僅剩兩天時間了,華為今天上午在其官微為華為nova2s繼續預熱,放出了倒計時2天的海報。一起來看一下。華為官微為華為nova2s預熱華為nova 2S倒計時2天海報    倒計時2天的海報仍以其代言人張藝興為主,手持華為nova2s,與主打高顏值的「更美的手機」的宣傳口號相吻合。
  • 高考倒計時28天!
    高考倒計時28天!10 05:21 來源:澎湃新聞·澎湃號·媒體 距2020年高考還剩
  • 逾期1天信用卡會登記徵信系統?看完你就知道了
    然而事實上,銀行在徵信記錄上的要求不會這麼苛刻,從最後還款日到開始罰息 、再到是否上徵信報告,銀行會有一定的「容時」逾期和「容差」逾期。那麼信用卡逾期多久才算是踩了人行徵信雷區呢?逾期多久會變為黑戶呢?
  • 《最終幻想15》倒計時3天宣傳圖 龍神巴哈姆特酷炫登場!
    距離遊戲正式發售還有三天的時間,官方的倒計時宣傳圖也如約而至,快來一起欣賞下吧。 《最終幻想15》... SE年度大作《最終幻想15》今日在上海舉行發布會盛典,國行版確定將會在11月29日全球同步發售。距離遊戲正式發售還有三天的時間,官方的倒計時宣傳圖也如約而至,快來一起欣賞下吧。
  • 倒計時30天!2018杭州世遊賽「時光日曆」上線!
    倒計時30天!2018杭州世遊賽「時光日曆」上線!發布時間:2018-11-11 17:55:00 Sun  來源:杭州網這是一個擁抱「數字經濟」嶄新標籤的城市,每分每秒、每個比特,大數據、雲計算,不斷刷新著城市前行的腳步。
  • 儀表顯示機油壽命還剩50%是什麼意思,是機油不足了嗎?
    很多配置豐富車子是帶有機油壽命顯示的,不帶該功能的車只有我們自己記住上次保養的公裡數和時間,然後跑到公裡數或時間了就去保養,很容易忘記上次是什麼時間保養的,或是多少公裡保養的了。那麼帶機油壽命顯示的,可以直接看到機油壽命還剩多少,是對保養一個很好的提醒。
  • 打造極致遊戲體驗 iQOO Neo 855版發布倒計時1天
    今天,iQOO官方微博發布iQOONeo855版品鑑會倒計時1天海報,明天這臺「855新王牌」手機就將在北京黑糖盒子藝術中心正式與各位見面。作為一臺針對年輕用戶群體而設計的產品,iQOONeo 855版在配置性能、流暢程度、遊戲體驗等部分均有不錯的表現,是一臺年輕的性能旗艦。
  • 地球壽命還剩多久?科學家猜測,人類移居或是唯一可能!
    地球壽命還剩多久?科學家猜測,人類移居或是唯一可能!地球壽命還剩多久?科學家猜測,人類移居或是唯一可能!從相關的科學數據來看,地球已經有了46億歲,太陽估計也有了45.7億歲,理論上來講,這兩者的年齡已經不分上下,到了壯年期,可科學家卻發現一大問題,太陽內部的氫元素正在發生改變,如果全部消耗完,意味著核心將發生崩塌,溫度直線上升,氫元素會變成碳元素,太陽的壽命頂多剩下50~60億年,既然地球與太陽的壽命相差無幾,是不是也就意味著地球的壽命剩下這麼多呢?
  • 官方!東京奧運會舉辦時間確定,2021年7月23日開幕,倒計時480天
    官方消息,國際奧林匹克運動會(IOC)正式決定了東京奧運會將於2021年7月23日—8月8日舉行,而東京帕運會將於8月24日—9月5日舉行。從現在開始,東京奧運會倒計時480天!
  • 2020戶用光伏補貼倒計時40天!再不安裝享受不到8分補貼!
    根據年初政策,全年總規模6GW,也就是說,截止9月30日,全國戶用光伏建設指標還剩約0.726GW。照此計算,預計10月份指標用完,加上1個月的緩衝期,11月份戶用補貼結束。 這意味著,2020戶用光伏補貼倒計時40天!
  • 劉慈欣《三體》1,汪淼的眼前以及他的相機膠捲為何會出現倒計時
    汪淼仔細辨認分析那些數字,發現那竟然是倒計時,而汪淼的相機並沒有這個功能。汪淼讓妻子和孩子幫他拍了幾張,自己也再拍。奇怪的是,妻子和孩子拍的那幾張膠片上沒有倒計時,只有他自己拍的膠片上有倒計時。當天夜裡,詭異的倒計時在汪淼的夢境裡出現。
  • 地球的壽命還剩多少?
    首先我們來說說地球本身的壽命。這也就是說,地球的壽命大約也是剩下50億年。接下來我們說說地球上的生命。在地球的早期,當時並沒有海洋,大氣層裡也沒有氧氣,並且有無數的物質不斷地對地球進行撞擊,這樣的環境是不適合生命的存活的。最早的生命大約在37億年前出現,但當時只是一些形成生命的基本細小分子。而後自7.5億年前至6600萬年前,地球總共經歷了5次生物集體滅絕事件。
  • 《想停止的瞬間:關於時間》拋開男主顏值不說,女主人設簡直絕了
    之前發現了一部據說又是編劇腦洞開得比較大的一部劇,名字叫《想停止的瞬間:關於時間》,今天我去看了一點點,發現確實有點意思。劇中開得最大的掛就是女主能看見每一個人剩餘的壽命,包括她自己的,但是她卻無能為力,哪怕知道別人壽命只剩那麼久了,她也沒辦法阻止。這劇一開始就交代得十分清楚,包括女主的特殊技能、女主如何和男主相遇相識、女主的壽命只剩下100多天等等。
  • 《想停止的瞬間》,生命時鐘只會有倒計時,不會前進
    最近在知乎裡面看到網友們推薦了一部電視劇叫做想停止的瞬間,是韓國的電視劇,看到大家看了以後說覺得這部劇還不錯,很有人生價值,於是我也去看了這部電視劇。這部電視劇是帶有一點點玄幻的色彩,因為女主能夠看見別人生命的時間,也就是倒計時,她也能看見自己的生命倒計時,雖然她很害怕,但是別無他法,當她知道自己只有三個多月的時間了以後,她就開始擔心了,因為她還有媽媽和弟弟需要照顧,而且她還有自己的夢想沒有實現。
  • 地球滅亡倒計時,人類只有20億年時間離開銀河系
    內核冷卻(滅亡倒計時太陽死亡(滅亡倒計時——50億年):宇宙中所有的恆星都需要經歷死亡,我們的太陽也不例外,根據科學家的計算,太陽的壽命大約還剩下50億年。星系衝撞(滅亡倒計時小行星撞擊(滅亡倒計時
  • 山東發文:日最高氣溫達到40℃以上應停止工作
    齊魯網7月11日訊(記者 姜洋)明天起,今年長達40天的伏天就正式開始了。
  • 人類的壽命到底有多長呢,為何只有3萬天?
    人類的壽命到底有多長,3萬天,人類是高等動物,許多動物的壽命並不長,除了烏龜,人類早已學會了許多的技能,可以在這個世界活得更好一些,在原始社會人類的壽命普遍不長,能夠活到50歲左右,已經算作是高壽了,現在的今天,有例如非洲一些部落也還生活著一群人,他們的生活水平和生存環境並不好,壽命也不是很長,如西雙版納原始森林裡也有
  • 倒計時3天!遼寧省博物館新館首開夜場,今晚八點開啟網上預約!
    倒計時3天!遼寧省博物館新館首開夜場,今晚八點開啟網上預約!五、預約流程:關注遼寧省博物館官方微信公眾號,點擊右下角「遼博服務」進入預約服務,填寫相關信息。六、預約須知:1. 共發放300張夜場預約二維碼,每人限約2張。2. 入場規則:當天憑夜場預約二維碼、身份證、遼事通健康碼入場。3.