即将放弃Python 2.7的不止有Numpy……
天真的人们能够爱——这就是他们的秘密.
——赫尔曼?黑塞
点击标题下「DataCastle数据城堡」快速关注~
来源:机器之心
本文经「机器之心」授权转载,禁止二次转载
最近,Numpy团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对Python2.7的支持,全面转向Pyhton 3。由于目前存在很多基于 Numpy 的深度学习依赖库,该决定意味着所有在此之上的工具都将失去对于 Python2.7 的支持。Numpy 并不是唯一宣称即将放弃Python 旧版本支持的工具,经开发者整理发现,pandas 与 Jupyter notebook 也在即将放弃支持的名单之中。
Numpy的声明
Python 核心团队计划在2020 年停止支持 Python 2。NumPy 自 2010 年以来同时并行支持 Python 2 和 Python 3,但是由于资源有限,支持 Python 2 变成了一个日渐加重的负担;因此,我们计划最终停止支持 Python 2。现在我们进入了社区支持的 Python 2 的最后几年,NumPy 想要说明我们的计划,并以帮助我们的下游生态制定计划,尽可能顺利地实现过渡为目标。
我们的当前计划如下:
2018 年 12 月 31 日之前,NumPy 所有版本仍将全面支持 Python 2 和 Python 3。2019 年 1 月 1 日开始,所有新功能版本将仅支持 Python 3。支持 Python 2 的最后版本将被指定为长期支持版本(LTS),即我们将继续修复 bug,对bug 修复版本的支持时间较长。具体讲,社区将支持它到 2019 年 12 月 31 号。
2020 年 1 月 1 日,我们将向 Python2 致敬,最后 Python 2 支持版本的社区支持将会结束。但是,你仍可在 PyPI 上无限期地使用它。如果任何商业供应商希望延长 LTS 支持时间,我们可以让其使用官方 NumPy 库中的 LTS 分支来做协调。
如果你是一名在 2020 年或以后仍需 Python 2 支持的 NumPy 用户,那么请联系你的供应商。如果你是供应商,想要在 2020 年以后继续支持 Python 2 上的 NumPy,请联系我们。理想情况下,我们希望你在 LTS 结束之前参与维护,以便顺利实现过渡。
Python团队的声明
Python 科学栈中的所有主要项目现在都支持Python 3.x 和 Python 2.7,很多项目已经支持这两种版本很多年。尽管我们不断开发用于高效维护兼容性的工具和技术,但是在大量代码开发中这仍然是虽然微小但经常出现的冲突。
我们希望充分使用 Python 3,目前接受交叉兼容代码以实现顺利过渡,但是我们不打算无限期维护该兼容性。尽管从 Python 2 到 Python 3 的过渡不像我们希望的那么快,但是它的确发生了,越来越多的人使用、教授和推荐 Python 3。
由于很多人仍然使用 Python 2,Python 语言的开发者将 Python 2.7 的支持期扩展为 2015 到 2020。我们认为这 5 年足够用户从Python 2 中迁移出来,我们的项目计划最迟在 2020 年底停止支持 Python 2。之后,我们能够简化代码,充分利用 Python 语言和标准库当前版本的很多新功能。
此外,2020 年之前,我们的一些项目将减少对 Python 2.7 的支持,只修复 bug,新功能版本则使用 Python 3。这和 Python 语言本身的支持相匹配,Python 2.7 版本仅包括修复 bug 和安全提升。
第三方可能对我们的旧 Python 版本项目提供付费支持,时间长于我们对旧 Python 版本的支持。我们不会阻止这类行为,这是免费、开源软件的核心原则,因此这种行为是可行的。但是,如果你想要免费的第一方支持,请开始迁移到 Python 3 吧。
出于以上原因,下列项目将在 2020 年停止支持 Python 2.7,与 Python 开发团队对此的时间线一致。
即将放弃支持Python 2.x的工具
以下项目已经明确表示将在2020年以前放弃对于Python 2的支持。
下表显示了多个项目确定停止支持Python 2的时间。从该表中可以得知每个项目的哪个版本是否支持Python 2、发布时间线,以及扩展支持的时间。
Python自己的时间线:http://docs.python.org/devguide/#status-of-python-branches
Python 2的消逝将使许多学界工具成为孤儿,很多已公布的结果将变得不可复现。尽管将现有项目移植到Python 3上是可能的,但这意味着大量的时间和资金需求。
机器之心报道
参与:黄小天、路雪、李泽南
参考内容:
http://www.python3statement.org/#sections30-projects
http://github.com/numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst
- 【足球】巴萨的小马哥即将成自由身 空降中超花落谁家?
- 杨洋郑爽新戏即将登场!而这次粉丝却议论纷纷,原因在何处?
- 赵||此书结体内敛,笔法秀美遒劲
- 【未来趋势】“机器人+”时代即将到来,你准备好了吗?
- 新街口东铁管巷地块即将出让
- 搪瓷淡出了中国人的生活,但这三个有想法的设计师不肯放弃它
- 成都版的“塞纳河”即将亮相
- 台青大陆体验行天津站完美收官!“玩转达人”评选即将开启!
- 真·全面屏即将发布,华为、OPPO还是小米?
- 规划师独家:二次房改即将启动,未来房产价值在哪里?