Linux中國

從 Python 2 切換到 Python 3 你所需要了解的

從 2020 年 1 月 1 日開始,Python 2.7 將不再得到正式支持。在此日期之後,將會發布一個最終錯誤修復計劃,但是僅此而已。

Python 2 的生命終點(EOL)對你意味著什麼?如果正在運行著 Python 2,你需要遷移。

是誰決定 Python 2 的生命終點?

2012 年,維護 Python 編程語言的團隊審查了其選項。有兩個越來越不同的代碼庫,Python 2 和 Python 3。這兩者都很流行,但是較新的版本並未得到廣泛採用。

除了 Python 3 中完全重寫的 Unicode 支持改變了處理數據的底層方式造成的斷層,這個主要版本的變化還一次性出現了一些非向後兼容的更改。這種斷層的決定成文於 2006 年。為了減輕該斷層的影響,Python 2 繼續保持了維護,並向後移植了一些 Python 3 的功能。為了進一步幫助社區過渡,EOL 日期從 2015 年延長至 2020 年,又延長了五年。

該團隊知道,維護不同的代碼庫是必須解決的麻煩。最終,他們宣布了一項決定:

「我們是製作和照料 Python 編程語言的志願者。我們已決定 2020 年 1 月 1 日將是我們停止使用 Python 2 的日子。這意味著在這一天之後,即使有人發現其中存在安全問題,我們也將不再對其進行改進。你應儘快升級到 Python 3。」

Nick Coghlan 是 CPython 的核心開發人員,也是 Python 指導委員會的現任成員,在他的博客中添加了更多信息。由 Barry Warsaw(也是 Python 指導委員會的成員)撰寫的 PEP 404 詳細說明了 Python 2.8 永遠不會面世的原因。

有人還在支持 Python 2 嗎?

提供者和供應商對 Python 2 的支持會有所不同。Google Cloud 宣布了它計劃未來如何支持 Python 2。紅帽還宣布了紅帽企業 Linux(RHEL)的計劃,而 AWS 宣布了 AWS 命令行界面和 SDK次要版本更新要求

你還可以閱讀 Vicki Boykis 在 Stack Overflow 撰寫的博客文章「為什麼遷移到 Python 3 需要這麼長時間?」,其中她指出了採用 Python 3 緩慢的三個原因。

使用 Python 3 的原因

不管是否有持續的支持,儘快遷移到 Python 3 是一個好主意。Python 3 將繼續受到支持,它具有 Python 2 所沒有的一些非常優雅的東西。

最近發布的 Python 3.8 包含 海象運算符位置參數自描述的格式化字元串功能。Python 3 的早期版本引入的功能,例如 非同步 IO格式化字元串類型提示pathlib,這裡只提及了一點點。

下載最多的前 360 個軟體包已遷移到 Python 3。你可以使用 caniusepython3 軟體包檢查你的 requirements.txt 文件,以查看你依賴的任何軟體包是否尚未遷移。

將 Python 2 移植到 Python 3 的參考資源

有許多參考資源可簡化你向 Python 3 的遷移。例如,「將 Python 2 移植到 Python 3 指南」列出了許多工具和技巧,可幫助你實現與 Python 2/3 單一源代碼的兼容性。在 Python3statement.org 上也有一些有用的技巧。

Dustin IngramChris WilcoxCloud Next 『19上作了一個演講,詳細介紹了向 Python 3 過渡的一些動機和遷移模式。Trey HunnerPyCon 2018 演講上介紹了 Python 3 最有用的功能,鼓勵你進行遷移,以便你可以利用它們。

加入我們!

距 2020 年 1 月 1 日僅有幾周了。如果你需要每天提醒一下它即將到來的時間(並且你使用 Twitter 的話),請關注 Python 2 日落倒計時 Twitter 機器人。

via: https://opensource.com/article/19/11/end-of-life-python-2

作者:Katie McLaughlin 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國