升級到新的python版本是一種工作,但這種工作不一定會讓你的軟件用戶受益, 因為用戶關(guān)心的是功能和錯誤修復(fù),而不是你的更新程度。
所以,仍有許多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,從 PyPI 下載的包中有近 30% 是針對 Python 3.7 的, 這包括作為 CI 運行一部分的自動下載,所以這并不意味著 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ā)團隊將不再修復(fù)。
對安全修復(fù)的需求是真實的: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ā)團隊不會這樣做。
所以理論上,你還不需要升級, 但在實踐中,有一些警告。
大多數(shù)發(fā)行版中不包含 Python 3.7
RedHat 和克隆版不在任何版本中包含 Python 3.7。
Ubuntu 18.04 確實有 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)在,當 Python 維護者自己提供錯誤修復(fù)時,Python 3.7.16 也有許多安全修復(fù)沒有包含在 Debian 維護的版本中。
Ubuntu 上一次針對 Python 3.7 的安全更新是在 2021 年 12 月,盡管此后已經(jīng)進行了多次安全更新。
當然,長期支持只會持續(xù)有限的時間:
Debian Buster 將于 2024 年 6 月結(jié)束其自身的安全更新,因此這只會讓你多花一年時間。
Ubuntu 18.04 將于 2023 年 4 月結(jié)束標準安全更新;之后,你需要付費才能獲得安全更新。
你的依賴項將停止獲取更新
一旦 6 月到來,第三方 Python 庫和框架將開始放棄對 Python 3.7 的支持, 這意味著如果這些庫有一個嚴重的錯誤,修復(fù)程序可能無法在 Python 3.7 上使用,并且你的 Linux 發(fā)行版不會為每個現(xiàn)有的 Python 庫做反向移植。
事實上,一些庫和框架已經(jīng)開始放棄對 Python 3.7 的支持:
現(xiàn)在是從 3.7 升級的時候了在短期內(nèi),你的最低目標是切換到一個 Python 版本,該版本維護了可用的依賴項版本。例如,如果你依賴 Pandas,正如我們所見,最后一個與 3.7 兼容的版本是在 2021 年 12 月發(fā)布的。因此,你至少希望使用 Python 3.8。
幸運的是,Python 3 版本相當向后兼容, 所以可以做的是:
升級到 3.8。
修復(fù)你發(fā)現(xiàn)的任何錯誤。
升級到 3.9,修復(fù)所有錯誤。
重復(fù)直到你使用 Python 3.10 或從 2023 年 1 月左右開始使用 Python 3.11。
審核編輯 :李倩
-
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17506 -
應(yīng)用程序
+關(guān)注
關(guān)注
37文章
3277瀏覽量
57737 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84756
原文標題:是時候停止使用 Python 3.7 了
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論