专栏首页磐创AI技术团队的专栏真的要说再见,PyTorch宣告不再支持Python2

真的要说再见,PyTorch宣告不再支持Python2

作者:一鸣、杜伟

本文经机器之心(公众号:almosthuman2014)

授权转载,禁止二次转载

自从官方宣布 2020 年 1 月后不再更新维护 Python2,已经有一大批开源软件将其抛弃。今天,抛弃 Python2 的名单上又多了一个重磅软件。

Python2 是 Python 官方在 2000 年开源的 Python 新版本,但因为其自身的问题,导致 Python 官方几年内就推出了新的 Python3。出于保护开源社区的初衷,官方并没有强迫开发者升级,并继续给予 Python2 更新维护,因此 Python2 就一直苟延残喘到了今年。

眼看留在 Python2 的开发者不太可能继续更新,Python 官方终于发了大招,他们宣布:2020 年 1 月起不再维护 Python2。大量开源软件,如 Numpy、Pandas 等都宣布放弃 Python2,但是只有 PyTorch 官方没有表态。近日,他们的开发工程师在论坛上透露:我们也不再支持 Python2 了。

官方声明

PyTorch 的官方维护者表示,他们不会再支持 Python2,声明全文如下:

现在几乎所有主要的开源 Python 包都支持 Python 3.x 和 Python 2.7 版本,并且很多项目几年前就已经支持这两个版本的 Python 语言了。虽然我们已经开发了相应的工具和技术来有效地维护版本之间的兼容性,但在开发大量代码的过程中依然不断出现一些小问题。

所以,我们希望充分发挥 Python 3 的应用潜能,并且现在依然允许用户编写兼容两个版本的代码,以实现平稳的过渡。但是,我们并不打算无限期地维护版本兼容性。虽然向 Python 3 的过渡并不如我们所预期的那样快速,但越来越多的用户开始使用、讲授和推荐 Python 3 了。

虽然 Python 3 早已在 2008 年开源,但 Python 语言的开发者意识到依然有很多用户使用 Python 2,所以从 2015 年开始他们扩展了对 Python 2.7 的支持。我们相信多留给用户的这 5 年足以顺利地完成向 Python 3 的过渡,并且将在 2020 年 1 月 1 日之后停止对 Python 2 的支持。之后,我们将简化代码,充分利用 Python 3 版本和标准库的诸多新功能。

此外,需要注意的是,2020 年之前,我们的很多项目将不再支持 Python 2.7,仅支持 bug 修复,并且所有的新功能只有 Python 3 才支持。目前,一些 PyTorch 项目已经完成了向 Python 3 的过渡。

第三方或许可以对 Python 旧版本上的项目提供更长时间的付费支持。我们不会加以干涉,因为这种做法符合自由和开源软件的核心原则。但是,如果你希望享受对 Scientific Python 堆栈等众多项目的免费和第一方支持,请着手开始将自己的项目转移到 Python 3。

基于以上这些原因,我们决定在 2020 年 1 月 1 日之后停止对 Python 2.7 的支持,从而与 Python 开发团队放弃支持 Python 2.7 的时间线保持一致。

延伸阅读:续命多年的 Python2

Python2 是 2000 年推出的 Python 版本,但是官方表示他们发现了一些问题,于是在 2006 年开始了 Python3 的开发工作,如果 Python3 能够向下兼容,或者干脆强硬一点让 Python2 退场,也许就没有今天这么多麻烦事情了。

然而不巧的是,当时有大量的开源软件和开发者在使用 Python2,它因其 Python 灵活友好的属性,根植在了大大小小的程序和框架中,贸然迫使开发者放弃 Python2 无疑会让整个开源社区大受打击,甚至造成开发者流失的问题。甚至连 OSX 系统自带的 Python 版本都是 Python2 的。于是,双轨制的 Python2 和 Python3 开始了,Python 社区俨然分成了两派。

原本官方打算在 2015 年下决心移除 Python2,但是似乎没有什么用处,依然有很多开发者,甚至是深度学习框架都在使用 Python2。因而停止维护的时间也就一拖再拖,直到 2020 年官方终于表示要停止维护了。

不过,究竟还会有多少人在停止维护后依然使用 Python2 呢?毕竟,想想 Windows XP 和 Windows 7。

参考链接:https://discuss.pytorch.org/t/dropping-python-2-support-on-january-1st-2020/56730

本文转载自机器之心。

本文分享自微信公众号 - 磐创AI(xunixs)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-06

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ROS2编程基础课程--库

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    zhangrelay
  • hexdump常用参数

    在分析mysql binlog或者ibd文件时候,常会用到hexdump 查看物理文件的存储内容。

    二狗不要跑
  • CentOS6.X 安装mycli

    最近发现在centos7上很容易就安装成功mycli了。但是到centos上同样的方法虽然按照提示成功了,执行mycli却报错。后来怀疑是python2.6版本...

    二狗不要跑
  • joda-time使用教程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • 半自动添加Grafana 模板之 ---- POST提交

    目前我们生产环境,每次新加DB机器都要人肉去添加模板,这种方式显然不是一个IT从业人员应该做的。急需完善流程。

    二狗不要跑
  • VIM之个性化配置 .vimrc

    贴一个自己常用的vim配置文件,个人感觉这些配置不算臃肿,对于运维已经基本够用了。

    二狗不要跑
  • Selenium抓取HTTPS请求

    Selenium本身是不支持HTTP和HTTPS请求抓取的,因为其团队认为这个不是selenium要解决的问题(确实也是)。所以推荐使用一个相关联的项目 -- ...

    上帝De助手
  • 基于maxscale的读写分离部署笔记

    使用maxscale搭建的读写分离架构,后期还可以再结合MHA做master的故障转移,这样业务层面上不需要做任何的改动即可。

    二狗不要跑
  • python3下常用编解码与加解密

    Python3相对于Python2的一大改变就是,对默认字符类型进行了修改。Python2中定义字符串默认为二进制字符串,强制加前缀u的才是unicode字符串...

    上帝De助手
  • ROS2编程基础课程--概念

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    zhangrelay

扫码关注云+社区

领取腾讯云代金券