<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】討論:是時候停止使用 Python 3.7 了

          共 2068字,需瀏覽 5分鐘

           ·

          2023-02-04 18:57


          來源:https://pythonspeed.com/articles/stop-using-python-3.7/

          升級到新的python版本是一種工作,但這種工作不一定會讓你的軟件用戶受益, 因為用戶關心的是功能和錯誤修復,而不是你的更新程度。

          所以,仍有許多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,從 PyPI 下載的包中有近 30% 是針對 Python 3.7 的, 這包括作為 CI 運行一部分的自動下載,所以這并不意味著 30% 的應用程序使用 3.7,但這仍然是很多人使用舊版本 Python 的原因。

          不過,你可以延遲升級的時間有限,對于 Python 3.7,升級時間是在接下來的幾個月內(nèi), Python 3.7 將于 2023 年 6 月到期,到期后不再修復錯誤,也沒有安全修復。

          Python 3.7 于 2018 年 6 月發(fā)布。正如你在 PEP 537 中所見:

          • 錯誤修復和安全修復子版本在前兩年每 3 個月發(fā)布一次。

          • 之后,僅根據(jù)需要發(fā)布安全修復程序。

          • 3.7 發(fā)布后 5 年將停止發(fā)布。

          也就是說,2023 年 6 月是發(fā)布 Python 3.7 的最后一個月, 從 2023 年 7 月開始,如果存在安全漏洞,Python 開發(fā)團隊將不再修復。

          對安全修復的需求是真實的:3.7.9 之后的所有版本都是由于安全修復。撰寫本文時的最新版本 Python 3.7.16 已于 2022 年 12 月 6 日發(fā)布,其中包含 5 個不同的安全修復程序,從潛在的拒絕服務攻擊到緩沖區(qū)溢出。

          一些 Linux 發(fā)行版保證在已知時間段內(nèi)提供長期支持,包括安全錯誤修復, 如果你使用的是這些發(fā)行版之一,并且它包含 Python 3.7,那么你可以依賴該發(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ā)行版不會向后移植所有安全修復程序,只會向后移植那些最重要的:

          • 即使是現(xiàn)在,當 Python 維護者自己提供錯誤修復時,Python 3.7.16 也有許多安全修復沒有包含在 Debian 維護的版本中。

          • Ubuntu 上一次針對 Python 3.7 的安全更新是在 2021 年 12 月,盡管此后已經(jīng)進行了多次安全更新。

          當然,長期支持只會持續(xù)有限的時間:

          • Debian Buster 將于 2024 年 6 月結束其自身的安全更新,因此這只會讓你多花一年時間。

          • Ubuntu 18.04 將于 2023 年 4 月結束標準安全更新;之后,你需要付費才能獲得安全更新。

          你的依賴項將停止獲取更新

          一旦 6 月到來,第三方 Python 庫和框架將開始放棄對 Python 3.7 的支持, 這意味著如果這些庫有一個嚴重的錯誤,修復程序可能無法在 Python 3.7 上使用,并且你的 Linux 發(fā)行版不會為每個現(xiàn)有的 Python 庫做反向移植。

          事實上,一些庫和框架已經(jīng)開始放棄對 Python 3.7 的支持:

          PackageLatest version supports 3.7?Last release supporting 3.7
          NumPyNoApril 2022
          PandasNoDecember 2021
          Django 4.xNoNever supported

          Django 3.2 LTS 仍然支持 Python 3.7,并將在 2024 年 4 月結束自己的安全更新。

          現(xiàn)在是從 3.7 升級的時候了在短期內(nèi),你的最低目標是切換到一個 Python 版本,該版本維護了可用的依賴項版本。例如,如果你依賴 Pandas,正如我們所見,最后一個與 3.7 兼容的版本是在 2021 年 12 月發(fā)布的。因此,你至少希望使用 Python 3.8。

          幸運的是,Python 3 版本相當向后兼容, 所以可以做的是:

          • 升級到 3.8。

          • 修復你發(fā)現(xiàn)的任何錯誤。

          • 升級到 3.9,修復所有錯誤。

          • 重復直到你使用 Python 3.10 或從 2023 年 1 月左右開始使用 Python 3.11。


          (完)

          往期精彩回顧





          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级日韩在线 | 中国第一美女毛片 | 大香蕉大香蕉视频网, | 一二三精品区 | 大香蕉精品视频在线 |