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 公告邮件列表。
我还有更多问题。