前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具

即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具

作者头像
机器之心
发布2018-05-10 12:06:42
7280
发布2018-05-10 12:06:42
举报
文章被收录于专栏:机器之心机器之心

机器之心报道

参与:黄小天、路雪、李泽南

最近,Numpy 团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对 Python 2.7 的支持,全面转向 Python 3。由于目前存在很多基于 Numpy 的深度学习依赖库,该决定意味着所有在此之上的工具都将失去对于 Python 2.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 日,我们将向 Python 2 致敬,最后 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 自己的时间线:https://docs.python.org/devguide/#status-of-python-branches

Python 2 的消失将使许多学界工具成为孤儿,很多已公布的结果将变得不可复现。尽管将现有项目移植到 Python 3 上是可能的,但这意味着大量的时间和资金需求。

参考内容:

http://www.python3statement.org/#sections30-projects

https://github.com/numpy/numpy/blob/master/doc/neps/dropping-python2.7-proposal.rst

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档