Python 2将被弃用,但PyPy会继续支持Python 2.7

Python 2.7将在2020年1月1日弃用,有鉴于许多组织尚未开始搬迁项目到Python 3,Python软件基金会委任顾问公司Changeset Consulting,启动Python 2的弃用沟通计划,而Python解释器PyPy则在推特上说明,只要PyPy项目仍然存在,就会继续支持Python 2.7。

Python 2的弃用程序已经启动,在2020年1月1日就会结束其生命周期(End of Life,EOL),将不会有维护者继续开发Python 2以及安全补丁。Python官方在2018年3月的时候,明确宣布Python 2退场的时间,目前Python 3的采用率已经超过Python 2,Python生态系统中重要的函数库,也都已经广泛地支持Python 3,在云计算供应商上的应用程序,Python 3也有极高的采用率,许多主要的组件也都同时支持Python 2以及Python 3。

#Python 2 reaches End of Life status on Jan. 1, 2020. You may not have heard about that, or begun prepping for migration. @ChangesetLLC Consulting is working with the PSF to get the word out about the sunsetting:https://t.co/s5eesKFD98 https://t.co/DF1KRVmLJZ

—Python Software (@ThePSF) August 12, 2019

不过有许多企业和组织,尚未把程序代码从Python 2移植到Python 3,虽然Python社群创建了许多资源帮助宣传以及教育,但仍有许多工作未完成,因此Python软件基金会与Changeset合作,协助进行弃用Python 2的弃用沟通工作,另外,Changeset也会帮助更新公众面向的资产,以分担Python社群核心开发人员的工作。

而Python解释器PyPy则同时在推特以及官方问答文件中都强调,他们会永远支持Python 2。由于PyPy内置JIT而受到不少开发者喜爱,其明显提升了Python程序代码的运行速度,而PyPy之所以会继续支持Python 2的主要原因,是因为动态语言实例框架RPython是以Python 2为基础创建,而RPython是PyPy的关键部分。

There is no plan to deprecate the 2.7 version of PyPy, basically for as long as PyPy exists. RPython is based on Python 2, which is not really realistic to change, so we need PyPy2 to bootstrap. Documented here: https://t.co/SGmZpOqPbW https://t.co/m0VBPOMUoB

—The PyPy Project (@pypyproject) August 10, 2019

PyPy的官方问答集写道,RPython是创建在Python 2,而他们极度不想要改变,因此PyPy项目存在多久,Python 2版本的PyPy就会存在多久,他们会同时支持Python 3以及Python 2。PyPy官方在2017年底发布PyPy3,开始支持Python 3.5,而在今年2月时发布PyPy 7.0.0。还分为三个版本PyPy 2.7、PyPy 3.5以及PyPy 3.6 Alpha,并首次开始支持Python 3.6。