偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

是時(shí)候?qū)?Python2 說“拜拜了”

新聞 前端
Python 2 的報(bào)廢(EOL)日期遲遲未到,不過現(xiàn)在終于有了眉目。自 2020 年 1 月 1 日起,Python 2 將不再得到支持。

 

  作者:Rich M  英國(guó)國(guó)家網(wǎng)絡(luò)安全中心(NCSC)的平臺(tái)安全研究員。

  別再約束自己了,Python 2 在 2020 年壽終正寢。

  Python 2 的報(bào)廢(EOL)日期遲遲未到,不過現(xiàn)在終于有了眉目。自 2020 年 1 月 1 日起,Python 2 將不再得到支持。Python 的核心開發(fā)人員將不再提供錯(cuò)誤修復(fù)版或安全更新。

  因此,如果你仍在使用 Python 2.x,是時(shí)候?qū)⒋a移植到 Python 3 了。如果你繼續(xù)使用未得到支持的模塊,可能危及貴企業(yè)及數(shù)據(jù)的安全性,因?yàn)闊o人修復(fù)的漏洞遲早會(huì)出現(xiàn)。

  問題的嚴(yán)重性

  下面這張表列出了十個(gè)流行的 Python 軟件包及統(tǒng)計(jì)數(shù)據(jù),來自 Python 社區(qū)開發(fā)和共享的軟件的存儲(chǔ)中心 Python Package Index。

  表中每個(gè)軟件包每月下載量達(dá)數(shù)百萬次。本文中的數(shù)據(jù)來自 2019 年 6 月。

  正如你所見,大多數(shù)下載的軟件包仍針對(duì) Python 2.x 版本。在最好的情況下,Web 應(yīng)用程序框架 Flask 主要是針對(duì) 3.x 而下載的。但即使如此,仍有近三分之一的下載仍針對(duì) 2.x.

  即使這些下載中只有一部分用于實(shí)際項(xiàng)目,Python 2 報(bào)廢仍可能影響數(shù)百萬系統(tǒng)的安全性。

  Python 2 消亡帶來的問題

  Python 2 報(bào)廢帶來了許多問題,這里是你可能會(huì)遇到的幾個(gè)問題。

  依賴項(xiàng)

  NumPy、Requests 和 TensorFlow 等許多大受歡迎的項(xiàng)目承諾到 2020 年將停止支持 2.x,一些項(xiàng)目已經(jīng)這么做了。

  這意味著如果你想使用青睞的模塊的最新功能,需要使用 Python 3。等待更新的時(shí)間越長(zhǎng),到時(shí)將更改的依賴項(xiàng)的 Python 3 版本會(huì)越多,更新起來會(huì)變得越困難。

  你可能阻礙其他開發(fā)人員

  如果你在維護(hù)其他開發(fā)人員依賴的庫,可能會(huì)阻止他們更新到3。如果阻礙其他開發(fā)人員,你在間接、可能無意中加大其他項(xiàng)目面臨的安全風(fēng)險(xiǎn)。

  你也許不在貴公司外面發(fā)布任何代碼,但要考慮可能也在內(nèi)部使用你代碼的同事。

  你錯(cuò)失最新功能

  Python 3 有許多你錯(cuò)失的新功能,包括如下:

  • 來自表達(dá)式的好處——允許生成器將其操作的一部分委托給另一個(gè)生成器。
  • 統(tǒng)一編碼字符串——統(tǒng)一編碼處理起來更容易。
  • 打印函數(shù)——打印函數(shù)有額外的功能,因而使其更靈活。
  • 視圖和迭代器取代列表——一些眾所周知的 API 不再返回列表。比如說,字典返回鍵的視圖、值的視圖或兩者的視圖。
  • “multi-with”語句——復(fù)雜的 with 語句更易于閱讀。
  • 使用*和**解包——擴(kuò)大了*可迭代解包運(yùn)算符和**字典解包運(yùn)算符的用途。現(xiàn)在可以在函數(shù)調(diào)用中使用任意數(shù)量的解包運(yùn)算符。
  • 純關(guān)鍵字實(shí)參——允許實(shí)參出現(xiàn)在可變長(zhǎng)度(varargs)實(shí)參的后面。
  • F字符串——運(yùn)行時(shí)評(píng)估的一種新類型的字符串常量,可能含有任何有效的 Python 表達(dá)式。
  • 大量的加速和優(yōu)化機(jī)制。

  Python 3.0 發(fā)布時(shí),一些新功能向后移植到 Python 2.7,可能很熟悉。如果你一直堅(jiān)持使用 2.6 或更低版本,這些新功能對(duì)你來說可能很陌生。

  幫助開發(fā)人員

  將 Python 2.x 代碼移植到 Python 3 可能是很艱巨的過程。幸好,一些工具和資源可以使這個(gè)過程較容易。

  Can I Use Python 3(https://github.com/brettcannon/caniusepython3)這個(gè)程序可檢查你的項(xiàng)目依賴項(xiàng),看看有沒有依賴項(xiàng)在阻止你使用 Python 3。使用該程序來查看你是否需要換掉任何使用 Python 2.x 的庫。在這種情況下,有必要訪問該庫主頁,看看是否有計(jì)劃移植到3。

  2to3(https://docs.python.org/2/library/2to3.html)這個(gè) Python 程序試圖將 2.x 源代碼轉(zhuǎn)換成3。它通常與 Python 解釋器一起安裝為腳本。如果你只想看看它對(duì)源代碼進(jìn)行的每次變更有何差異,不用編寫任何更改就可以運(yùn)行該程序。注意這不完美,你可能仍需要手動(dòng)修復(fù)一些代碼。

  《支持 Python 3:深入指南》(http://python3porting.com/)這份免費(fèi)的開源電子書可指導(dǎo)你逐步完成添加 Python 3 支持的過程。本電子書解釋了你可能遇到的一些常見遷移問題,并列出了使用 Python 3 中的新功能改進(jìn)源代碼的方法。

  Six(https://github.com/benjaminp/six)是一個(gè) Python 2 和 3 兼容庫,讓開發(fā)人員方便編寫與 Python 2 和 3 都兼容的代碼。使用該庫,開發(fā)人員可以選擇使用哪個(gè)版本的 Python 解釋器來運(yùn)行代碼。如果你決定使用該庫,確保代碼表明了這一點(diǎn):Python 版本號(hào)可能很快增加到 4.0(截至本文發(fā)稿時(shí)最新版本為 3.7.4)。

  利用他人的經(jīng)驗(yàn)來幫助你——很多人已講述了移植代碼庫方面的經(jīng)驗(yàn)。Dropbox 在 2018 年將代碼庫遷移到 Python 3,撰寫了一篇博文(https://blogs.dropbox.com/tech/2018/09/how-we-rolled-out-one-of-the-largest-python-3-migrations-ever/)詳細(xì)介紹了經(jīng)驗(yàn)。

  Python 官網(wǎng)還提供了你可能覺得有用的說明文檔。

  遷移不是一種選擇

  如果無法將代碼庫遷移到 Python 3,另一種選擇是出錢請(qǐng)商業(yè)公司為你支持 Python 2。

  至少有一家公司已經(jīng)宣布推出 Python 2 支持軟件包和 Python 2 第三方軟件包。

  一些 Linux 發(fā)行版包含 Python 2,報(bào)廢后仍會(huì)得到支持。比如說,CentOS 7 和 Debian 10 都使用 Python 2,一直支持到 2024 年,但不知道到時(shí)這種支持是什么樣的?! ?/p>

  改進(jìn)的機(jī)會(huì)

  維護(hù)是任何軟件開發(fā)生命周期(SDLC)的重要環(huán)節(jié)。該環(huán)節(jié)的一方面是改進(jìn)軟件性能、增強(qiáng)安全性,這兩者都可以通過升級(jí)到 Python 3 來實(shí)現(xiàn)。

  換句話說,如果你仍在使用 Python 2,這正是改進(jìn)你如何管理軟件依賴項(xiàng),并盡量減少安全債務(wù)的大好機(jī)會(huì)。

  不要忽視風(fēng)險(xiǎn)

  我們 NCSC 始終強(qiáng)調(diào)打補(bǔ)丁的重要性。打補(bǔ)丁并非總是易事,但這是你為了確保技術(shù)安全所能做的最基本工作之一。

  WannaCry 勒索軟件就是一個(gè)典例,它表明了如果你運(yùn)行不受支持的軟件會(huì)發(fā)生什么。它感染了超過 230000 臺(tái)計(jì)算機(jī),在全球范圍內(nèi)重大破壞。最近,Equifax 泄密事件導(dǎo)致高達(dá)達(dá) 7 億美元的和解。

  如果決定報(bào)廢后繼續(xù)使用 Python 2,你就接受了使用不受支持的軟件帶來的種種風(fēng)險(xiǎn),卻明知道可以使用安全的版本。

  但愿本文有助于說服你現(xiàn)在是時(shí)候開始遷移到 Python 3 了。

責(zé)任編輯:張燕妮 來源: 云頭條
相關(guān)推薦

2009-11-19 17:04:30

動(dòng)態(tài)路由技術(shù)

2012-02-01 14:41:13

Android手機(jī)硬件

2009-02-25 09:20:42

職場(chǎng)調(diào)查壓力

2018-07-25 10:00:26

2012-10-12 13:35:51

Windows 8

2018-05-07 10:50:40

職場(chǎng)35歲現(xiàn)象跳槽

2015-11-24 11:48:32

RFID技術(shù)物聯(lián)網(wǎng)

2014-09-23 10:23:26

404 Not Fou谷歌

2022-11-11 08:16:51

2010-07-12 15:34:30

2017-05-28 12:26:58

5GTCPIP

2013-08-21 10:20:25

Google中國(guó)手游團(tuán)隊(duì)日韓市場(chǎng)

2020-05-06 15:02:02

Python

2017-09-15 18:16:56

人工智能Python

2018-08-21 05:12:10

2017-02-17 07:46:29

2024-01-02 07:34:38

CentOSLinuxRedhat

2021-12-26 09:00:15

IE瀏覽器Edge瀏覽器瀏覽器

2023-10-19 15:25:40

2013-07-10 09:32:15

手機(jī)游戲手機(jī)游戲市場(chǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)