中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

官方倒計(jì)時(shí):Python2的壽命還剩113天,逾期停止維護(hù)

2019-09-11    來源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用

作為目前最為流行的編程語言,Python 的出現(xiàn)讓計(jì)算機(jī)編程不再是生僻的專業(yè)技能,而是常人都能學(xué)習(xí)和使用的萬金油,它也是人工智能領(lǐng)域里最為常用的語言之一。不過在三個(gè)月內(nèi),Python 或許要經(jīng)歷史上最大的一次變化。

 

 

昨天,Python 官方網(wǎng)站的一紙聲明《Python 2 的落幕》引發(fā)了人們的廣泛討論:該開發(fā)社區(qū)表示,官方對(duì)于 Python 2 的支持將會(huì)在 2020 年 1 月 1 日結(jié)束,在這之后即使是出現(xiàn)安全問題,舊版本的語言也不會(huì)得到任何改進(jìn)。人們現(xiàn)在必須立即轉(zhuǎn)移到 3.0 以上版本了。

目前,仍有一些開發(fā)者以志愿者的身份維護(hù) Python2 語言。不過他們已共同決定,2020 年 1 月 1 日將是 Python2「生命終結(jié)」的那一天。該日之后,所有 Python2 相關(guān)的維護(hù)都將終止。

為什么 Python2 更新到 Python3 這么慢

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

可能主要有以下幾個(gè)原因:

1. 工程穩(wěn)定性相比軟件的更新速度更為重要。

編程語言是構(gòu)成軟件的基石,編程語言如果發(fā)生了更新?lián)Q代,軟件的更新不是一件小事,需要全面地對(duì)所有代碼進(jìn)行更新。在這一過程中,如果出現(xiàn)新舊版本不兼容、代碼穩(wěn)定性變差等情況,可能會(huì)影響到用戶的持續(xù)使用。因此,對(duì)于一些版本迭代,很多軟件開發(fā)者選擇不更新。寧可保證用戶使用的穩(wěn)定性,也不能急于更新到最新版本。

2. Python 官方「允許」Python2 持續(xù)存在。

Python 官方在文檔中也提到,大版本的更新有可能會(huì)「?jìng)Α归_發(fā)者。具體而言,如果在 2006 年就迅速要求開發(fā)者放棄 Python2,則很多開發(fā)者可能因?yàn)殚_發(fā)成本問題,直接放棄 Python。繁榮的開發(fā)者社區(qū)是維持 Python 編程語言地位的重要條件,因此官方一直在更新維護(hù) Python2,讓更多的開發(fā)者留存在社區(qū)中。

3. Python2 確實(shí)也好用。

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

這些原因下來,Python3 取代 Python2 的進(jìn)程就拖了十來年。不過,隨著機(jī)器學(xué)習(xí)的發(fā)展,機(jī)器學(xué)習(xí)領(lǐng)域?qū)幊陶Z言的性能有很高的要求,且大部分新的工具都支持 Python3。因此,使用性能更好,有更多工具支持的 Python3 成為了開發(fā)者的必然選擇。

放棄支持 Python2 的軟件列表

2017 年,我們?cè)鴪?bào)道過將會(huì)放棄 Python2 的開源工具。目前,這一列表又長(zhǎng)了很多。

 

 

TensorFlow、Scikit-learn、Pandas、XGBoost 等工具已經(jīng)準(zhǔn)備放棄 Python2。

 

 

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

 

 

還有很多如 Cython、IPython 在內(nèi)的工具。

 

以上為已經(jīng)放棄 Python2 的開源工具列表(不完全統(tǒng)計(jì))。從這個(gè)列表可以看到,Python 的生態(tài)系統(tǒng)是多么龐大。

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

 

 

官方答疑

官方同時(shí)提供了一些相關(guān)的答疑,整理如下:

為什么要終止 Python2?

答:終止 Python2 是因?yàn)槲覀円玫貛椭_發(fā)者。

Python2 是 2000 年發(fā)布的。一些年之后,我們意識(shí)到需要對(duì) Python 進(jìn)行一次大的更新升級(jí)。因此在 2006 年,我們開始了 Python3 的開發(fā)工作。因?yàn)楹芏嗳嗽诋?dāng)時(shí)沒有更新,而我們也不希望這次更新給他們?cè)斐蓳p害,因此多年來我們一直在維護(hù)并公開新的 Python2 和 Python3 版本。

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

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

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

目前 Python2 還有多久的壽命?

答:從 2019 年 9 月 10 日起算還有 3 個(gè)月 21 天。有一個(gè)倒計(jì)時(shí),在 pythonclock.org (https://pythonclock.org/) 網(wǎng)站上。

 

在發(fā)稿時(shí)對(duì)倒計(jì)時(shí)網(wǎng)站的截圖。

如果沒有升級(jí),會(huì)怎么樣?

答:在終止日期到來后,即使用戶發(fā)現(xiàn)了 Python2 上的災(zāi)難性安全問題,或者在 Python2 開發(fā)的軟件中發(fā)現(xiàn)了這些問題,志愿者也不會(huì)幫助修復(fù)。如果用戶需要 Python2 相關(guān)的軟件協(xié)助,志愿者也不會(huì)提供幫助,并且越來越少的志愿者能夠幫助到這些用戶。同時(shí),用戶可能會(huì)失去使用優(yōu)秀開源工具的機(jī)會(huì),因?yàn)樗麄兌际腔?Python3 開發(fā)的。同時(shí),使用 Python2 的用戶可能會(huì)拖慢其他使用 Python3 進(jìn)行開發(fā)的人員的工作進(jìn)度。

如何將 Python2 代碼轉(zhuǎn)為 Python3?

答:請(qǐng)參閱官方提供的指南。

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

如果用戶基于 Python2 開發(fā)了一些軟件,應(yīng)該怎么做?

答:如果是從供應(yīng)商那里購(gòu)買的軟件或軟件支持,則詳情可咨詢他們;如果是從開發(fā)者或系統(tǒng)管理員那里付款獲得的軟件,則咨詢這些開發(fā)者或管理員。如果二者均不是,則點(diǎn)擊「Can I Use Python3?」頁(yè)面查找升級(jí)到 Python3 所需要的工具。

caniusepython3 頁(yè)面地址:https://pypi.org/project/caniusepython3/

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

答:是的。如果你付錢購(gòu)買擴(kuò)展支持,則與供應(yīng)商聯(lián)系。如果你可以付錢聘請(qǐng)一些人來幫助你,則可以在求職面板上發(fā)帖或直接聘請(qǐng)咨詢?nèi)藛T。如果你需要志愿者提供免費(fèi)幫助,則可以查看以下幫助頁(yè):https://www.python.org/about/help/。

用戶直到現(xiàn)在才聽說 Python2 升級(jí)事宜。在哪里宣布的升級(jí)通知?

答:我們?cè)谲浖䲡?huì)議、Python 通知郵件列表、Python 官方博客、相關(guān)參考書和技術(shù)文章、社交媒體以及與出售 Python 支持的公司都討論過 Python2 的升級(jí)事宜。

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

答:從供應(yīng)商那里購(gòu)買 Python 支持,或者訂閱 Python 通知郵件列表。

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

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

轉(zhuǎn)移需盡早

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

Python 早已經(jīng)提供了 2 to 3 自動(dòng)化工具,僅需一行命令就可以將 Python 2 代碼轉(zhuǎn)成 3。在 HackerNews 上,很多人對(duì)于 Python 2 支持的結(jié)束展開了討論。

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

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

作者: Synced 來源:機(jī)器之心

標(biāo)簽: Python 編程語言

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:智慧醫(yī)療大數(shù)據(jù)平臺(tái)解決方案

下一篇:谷歌開放全新自然語言數(shù)據(jù)集:多元化場(chǎng)景更詳細(xì)標(biāo)注,讓AI助手更懂人類