升級到新的python版本是一種工作,但這種工作不一定會讓你的軟件用戶受益, 因?yàn)橛脩絷P(guān)心的是功能和錯誤修復(fù),而不是你的更新程度。
所以,仍有許多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,從 PyPI 下載的包中有近 30% 是針對 Python 3.7 的, 這包括作為 CI 運(yùn)行一部分的自動下載,所以這并不意味著 30% 的應(yīng)用程序使用 3.7,但這仍然是很多人使用舊版本 Python 的原因。
不過,你可以延遲升級的時間有限,對于 Python 3.7,升級時間是在接下來的幾個月內(nèi), Python 3.7 將于 2023 年 6 月到期,到期后不再修復(fù)錯誤,也沒有安全修復(fù)。
Python 3.7 于 2018 年 6 月發(fā)布。正如你在 PEP 537 中所見:
錯誤修復(fù)和安全修復(fù)子版本在前兩年每 3 個月發(fā)布一次。
之后,僅根據(jù)需要發(fā)布安全修復(fù)程序。
3.7 發(fā)布后 5 年將停止發(fā)布。
也就是說,2023 年 6 月是發(fā)布 Python 3.7 的最后一個月, 從 2023 年 7 月開始,如果存在安全漏洞,Python 開發(fā)團(tuán)隊(duì)將不再修復(fù)。
對安全修復(fù)的需求是真實(shí)的:3.7.9 之后的所有版本都是由于安全修復(fù)。撰寫本文時的最新版本 Python 3.7.16 已于 2022 年 12 月 6 日發(fā)布,其中包含 5 個不同的安全修復(fù)程序,從潛在的拒絕服務(wù)攻擊到緩沖區(qū)溢出。
一些 Linux 發(fā)行版保證在已知時間段內(nèi)提供長期支持,包括安全錯誤修復(fù), 如果你使用的是這些發(fā)行版之一,并且它包含 Python 3.7,那么你可以依賴該發(fā)行版來提供安全修復(fù),即使 Python 開發(fā)團(tuán)隊(duì)不會這樣做。
所以理論上,你還不需要升級, 但在實(shí)踐中,有一些警告。
大多數(shù)發(fā)行版中不包含 Python 3.7
RedHat 和克隆版不在任何版本中包含 Python 3.7。
Ubuntu 18.04 確實(shí)有 Python 3.7 作為附加組件,但它是 universe 附加組件包的一部分,因此尚不清楚安全支持會有多好;據(jù)推測,universe 包安全更新依賴于社區(qū)更新, 最后一次安全更新是在 2021 年 12 月,較新的 LTS Ubuntu 版本(20.04、22.04)不包括 Python 3.7。
Debian 10(“Buster”)包括 Python 3.7,但 Debian 11 不包括。
Linux 發(fā)行版不會向后移植所有安全修復(fù)程序,只會向后移植那些最重要的:
即使是現(xiàn)在,當(dāng) Python 維護(hù)者自己提供錯誤修復(fù)時,Python 3.7.16 也有許多安全修復(fù)沒有包含在 Debian 維護(hù)的版本中。
Ubuntu 上一次針對 Python 3.7 的安全更新是在 2021 年 12 月,盡管此后已經(jīng)進(jìn)行了多次安全更新。
當(dāng)然,長期支持只會持續(xù)有限的時間:
Debian Buster 將于 2024 年 6 月結(jié)束其自身的安全更新,因此這只會讓你多花一年時間。
Ubuntu 18.04 將于 2023 年 4 月結(jié)束標(biāo)準(zhǔn)安全更新;之后,你需要付費(fèi)才能獲得安全更新。
你的依賴項(xiàng)將停止獲取更新
一旦 6 月到來,第三方 Python 庫和框架將開始放棄對 Python 3.7 的支持, 這意味著如果這些庫有一個嚴(yán)重的錯誤,修復(fù)程序可能無法在 Python 3.7 上使用,并且你的 Linux 發(fā)行版不會為每個現(xiàn)有的 Python 庫做反向移植。
事實(shí)上,一些庫和框架已經(jīng)開始放棄對 Python 3.7 的支持:
現(xiàn)在是從 3.7 升級的時候了在短期內(nèi),你的最低目標(biāo)是切換到一個 Python 版本,該版本維護(hù)了可用的依賴項(xiàng)版本。例如,如果你依賴 Pandas,正如我們所見,最后一個與 3.7 兼容的版本是在 2021 年 12 月發(fā)布的。因此,你至少希望使用 Python 3.8。
幸運(yùn)的是,Python 3 版本相當(dāng)向后兼容, 所以可以做的是:
升級到 3.8。
修復(fù)你發(fā)現(xiàn)的任何錯誤。
升級到 3.9,修復(fù)所有錯誤。
重復(fù)直到你使用 Python 3.10 或從 2023 年 1 月左右開始使用 Python 3.11。
審核編輯 :李倩
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17543 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3292瀏覽量
57914 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85039
原文標(biāo)題:是時候停止使用 Python 3.7 了
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
開發(fā)者福音!谷歌云APP引擎開始支持Python 3.7
10年Python功力,總結(jié)了10個開發(fā)技巧,非常實(shí)用
當(dāng)系統(tǒng)掉電的時候,內(nèi)部RTC應(yīng)該停止了計時,再次上電的時候繼續(xù)動作,是不是每次上次上電都需要重新校時?
電機(jī)停止的時候熱繼電器跳閘怎么解決?
Coverity 呼吁停止使用不安全軟件
智能眼鏡Spectacles未能經(jīng)住市場考驗(yàn),大量用戶在一周后就停止使用
隨著科技的發(fā)展,Python什么時候會被取代
預(yù)測:數(shù)百萬人將停止使用付費(fèi)有線電視服務(wù)
谷歌開始要求開發(fā)者停止使用win7
傳谷歌或停止使用跟蹤iPhone用戶工具
強(qiáng)制在凌晨4點(diǎn)停止使用筆記本電腦的開源設(shè)備
![強(qiáng)制在凌晨4點(diǎn)<b class='flag-5'>停止使用</b>筆記本電腦的開源設(shè)備](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
戴爾計劃2024年停止使用“中國制造”芯片;美國科技公司最大規(guī)模裁員:亞馬遜裁撤1.8萬個崗位
Debian終于完全刪除Python 2
微軟:VSCode決定放棄Python 3.7
![微軟:VSCode決定放棄<b class='flag-5'>Python</b> <b class='flag-5'>3.7</b>](https://file1.elecfans.com/web2/M00/AB/9A/wKgaomVAvnKASV8rAAAWlDkpKSY844.png)
評論