注意: 虽然 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 日之间进行了一些更改。作为对社区的一项服务,我们将这些修复(且仅是这些修复)打包,并于 2020 年 4 月发布了 2.7.18。我们这样做是因为这对发布经理来说很方便,而不是暗示支持结束的时间。有关更多技术细节,请参阅此解释

如果我在 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 问答列表