注意: 雖然 JavaScript 對於本網站不是必需的,但您與內容的互動將受到限制。請啟用 JavaScript 以獲得完整體驗。

Python 2 的退役

我們是製作和維護 Python 程式語言的志願者。我們已決定 2020 年 1 月 1 日是 Python 2 退役的日子。這意味著在那一天之後,即使有人在其中發現安全問題,我們也不會再對其進行改進。您應該儘快升級到 Python 3。

你們為什麼要這樣做?

我們需要讓 Python 2 退役,以便透過更快地改進 Python 來幫助 Python 使用者。

我們在 2000 年釋出了 Python 2.0。幾年後,我們意識到我們需要進行重大更改來改進 Python。因此,在 2006 年,我們開始了 Python 3.0。很多人沒有升級,我們不想傷害他們。因此,多年來,我們一直在不斷改進和釋出 Python 2 和 Python 3。

但這使得改進 Python 變得困難。Python 2 無法處理某些改進。而且我們花在使 Python 3 更好更快的時間也更少了。

如果許多人繼續使用 Python 2,那麼這會使使用 Python 製作軟體的志願者感到困難。他們無法使用 Python 3 中的新好東西來改進他們製作的工具。

我們不想傷害使用 Python 2 的人。因此,在 2008 年,我們宣佈將在 2015 年讓 Python 2 退役,並要求人們在那之前升級。有些人升級了,但很多人沒有。因此,在 2014 年,我們將退役時間延長至 2020 年。

距離退役日期還有多久?

退役日期現在已經過去了;它是 2020 年 1 月 1 日。

現在會發生什麼?

截至 2020 年 1 月 1 日,不會再對 Python 2 進行新的錯誤報告、修復或更改,Python 2 不再受支援。

在釋出 Python 2.7.17(2019 年 10 月 19 日)和 1 月 1 日之間進行了一些更改。為了服務社群,我們捆綁了這些修復(僅限這些修復)並釋出了 2.7.18。我們在 2020 年 4 月這樣做了,因為這對於釋出管理員來說很方便,而不是因為它暗示了支援何時結束。有關更多技術細節,請參閱此說明

如果我沒有在 2020 年 1 月 1 日之前升級會怎樣?

如果人們在 Python 2 中或在用 Python 2 編寫的軟體中發現災難性的安全問題,那麼大多數志願者將不會幫助修復它們。如果您需要 Python 2 軟體的幫助,那麼許多志願者將不會幫助您,並且隨著時間的推移,能夠幫助您的志願者會越來越少。您將失去使用好工具的機會,因為它們只能在 Python 3 上執行,並且您會拖慢依賴您並與您一起工作的人們的速度。

其中一些問題在 1 月 1 日開始出現。其他問題會隨著時間的推移而增長。

我用 Python 2 編寫了程式碼。我應該如何將其移植到 Python 3?

請閱讀官方的“將 Python 2 程式碼移植到 Python 3”指南。另請閱讀Python 3 宣告實用性,以獲取有關如何使 Python 2 程式碼退役的建議。

我不確定我是否依賴於任何用 Python 2 編寫的軟體。我該怎麼辦?

如果您從供應商處購買軟體或軟體支援,請諮詢他們。如果您付費給開發人員或系統管理員,請諮詢他們。如果您沒有供應商或技術人員,請使用“我可以使用 Python 3 嗎?”來找出您是否依賴於任何用 Python 2 編寫的軟體。

要了解有關特定工具是否可以使用 Python 3 的更多資訊,請檢視Python 2.7 就緒狀態Python 3 宣告Python 3 就緒狀態

我依賴於一些用 Python 2 編寫的軟體。我該怎麼辦?

如果您從供應商處購買軟體或軟體支援,請諮詢他們。如果您付費給開發人員或系統管理員,請諮詢他們。如果您沒有供應商或技術人員,請使用“我可以使用 Python 3 嗎?”來找出您需要升級到 Python 3 的工具。

有人可以幫助我嗎?

是的。如果您可以為擴充套件支援付費,請與這些供應商之一聯絡。如果您可以付費聘請某人來幫助您,請在職位公告板上釋出或聘請顧問。如果您需要志願者提供的免費幫助,請檢視此幫助頁面

我直到現在才聽說這件事。你們在哪裡宣佈的?

我們在軟體會議、Python 公告郵件列表、官方 Python 部落格、教科書和技術文章、社交媒體以及向銷售 Python 支援的公司中談論過此事。

我如何才能確保不再被這樣的公告嚇到?

從供應商處購買 Python 支援,或訂閱 Python 公告郵件列表

我還有更多問題。

閱讀此詳細的 Python 3 問題和解答列表