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

机器之心报道

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

最近,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

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-11-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动开发平台

移动开发平台的交流方式

移动开发平台目前主要以 QQ 群的形式为您解答日常问题,群内会不定期推送更新通知等各类信息。

3955
来自专栏Java架构师进阶

怎么从初、中级Java程序员过渡到高级Java程序员?

原文地址:https://www.toutiao.com/i6599524702937416195/

1141
来自专栏喵了个咪的博客空间

IOT设备通讯协议MQTT

哈喽大家好呀!笔者的公司最近在做IOT设备相关的业务,基于这个契机寻找学习了一下关于IOT通讯协议相关的内容,最终在技术选型上选择了使用MQTT协议并且结合EM...

4374
来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(11.21-11.27)

1083
来自专栏NetCore

C/S结构和b/s结构的比较

随着软件系统的规模和复杂性的增加 ,软件体系结构的选择成为比数据结构和算法的选择更为重要的因素 ,三层客户/服务器体系结构为企业资源规划的整合提供了良好的框架 ...

2579
来自专栏屈定‘s Blog

如何学习一门新技术

最简单的是找一个上手视频,因为视频是非常直观的展示了技术的使用.先学会用是最根本的,对于没有视频的技术的话,就可以搜索XX上手教程,XX学习记录之类的关键词,很...

2143
来自专栏架构师之路

必备,前台与后台分离的架构实践

如果你经历过创业,经历过快速迭代业务,经历过用户量不断上涨,经历过访问并发越来越大,你一定会遇到以下系统问题: 用户访问页面越来越慢 系统性能下降,数据库扛不住...

5436
来自专栏华章科技

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

最近,Numpy 团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对 Python 2.7 的支持,全面转向 Python 3。由于目前存在很多基...

871
来自专栏云计算D1net

公有云服务选择八大评测标准

说到选择一家公有云提供商,成本往往是首要因素。但是虚拟机迁移、存储和自动扩展等其他因素也应该加以考虑。 随着许多企业组织迁移到公有云或混合云,它们免不了要选择一...

4006
来自专栏hadoop学习

从零开始学习hadoop之发行版选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬...

1445

扫码关注云+社区

领取腾讯云代金券