文档章节

开发者请注意:Python2 的最后版本将于 4 月发布,但它确实是在 1 月 1 日就寿命终止了!

豌豆花下猫
 豌豆花下猫
发布于 01/02 23:02
字数 1245
阅读 9294
收藏 3

2020 年 1 月 1 日是 Python2 的寿命终止日,这个日期在两年前经"Python之父" Guido van Rossum 宣布,此后一直成为开发者社区翘首以盼的一天。

昨天就是这个大快人心的日子,各种变了花样的喜庆报道不绝于目。调侃的玩笑也不少,比如这个:

还有这个(别信!):

然而,我今天偶然看到一位大佬的疑问,大意如下:官网发布的 Python2 退休日期说是 4 月,那个倒计时网站是不是冒充的官方消息?

他所说的官网消息是这篇——

怎么回事呢?传了那么久的元旦退休消息,竟然会不准确?那么多人在热热闹闹地庆祝着,竟然是在庆祝一个假消息么?

我搜索那篇文章,仔细读了一遍,然后才注意到发布日期是 2019 年 12 月 20 日,也就是两周前。文中没有提到 1 月 1 日,也没提 4 月的具体日子。

文章属实,但日期明显矛盾,这是怎么回事呢?官方应该会有所解释吧?带着疑问,我去翻看官方和几个核心开发者的推特。

经过一番资料查阅,我终于搞清楚了怎么回事,也找到了所谓的"官方解释"。

简单说明结论:2020-01-01 是板上钉钉的 Python2 的 EOL (end of life,寿命终止)日子,但是在这个日子前的版本发布周期还在进行,最后一个版本按计划是在今年 4 月的 Pycon US 大会上发布。

Python2.7 在 2019 年的最后一个版本是 10 月 19 日发布的 2.7.17 版本,在它之后直到2020-01-01 之间产生的所有问题,开发者们是接受的,而计划合入的版本将是 4 月 17 日的 2.7.18 版本。

以篮球比赛中的压哨球来类比,你就明白怎么回事了:球离手在空中飞了三分之一路程,这时终止的哨声吹响,最后这球中袋了当然还是有效的。

进行了三分之一的 2.7.18 版本,就像离手之球,离弦之箭,泼出之水,负责任的 Python 官方还是要认可它的。

其实,这个决定并不是最近确定的,早在 2019 年 9 月,Python2 的版本经理 Benjamin Peterson 就公布了这个计划,这里是当时的邮件组截图:

有不少开发者表示了疑义:为什么不能把 4 月的发布计划提前呢?如果是 4 月发布最后版本,为什么不说 4 月才是 EOL 呢?为什么容许出现两个不一致的日期?

根据我对讨论内容的理解,主要有如下原因:

  • 12 月末不是一个方便的“工作”时间(因为感恩节放假!)
  • 4 月有一年一度的社区大会,届时大家可以集体宣泄
  • Python 1 的最后版本(1.6.1)已经有此先例

有不少开发者也表示附议,认可这个安排。详细的讨论过程在:https://dwz.cn/ECmB3cZo

如果 PSF 在发布那篇“4 月退休”的文章时,对此安排作出解释,也许大家就不会有那么多困惑了,更不至于怀疑自己在传播假消息……

看到这,你也应该理解了来龙去脉吧?不过,我相信还是有读者有疑问:既然早就知道会有这个尾巴要处理,为什么不能加快进度,多投精力,争取一分不差地在 2019-12-31 发布最后一个版本呢?

追进度、赶 deadline、加班加点,这种事情在国内互联网领域是司空见惯了。然而,Python 核心开发者们几乎都是志愿者,花的是业余兴趣时间,他们的主业可能都不至于 996,怎么能指望在副业上 996 呢?!不要强人所难!

最后,不管怎么说,Python2 确实是在 2020-01-01 就 EOL 了,此后自生自灭。

它的最后一个版本会在 4 月份发布(只包含 1 月 1 日前的问题),我们不用着急,就让这只球飞一会吧,等到球落袋的时候,我们再一起,举杯相庆!

公众号【Python猫】, 本号连载优质的系列文章,有喵星哲学猫系列、Python进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等等,欢迎关注哦。

© 著作权归作者所有

豌豆花下猫
粉丝 68
博文 73
码字总数 187860
作品 0
苏州
私信 提问
加载中

评论(2)

c
crystalsis
感觉这个更科学呀,生命周期结束之前出现的问题找个时间更新下,然后彻底完结,而不是结束了直接不管了
animalize
animalize
Python 2.0在2000年发布,2.7在2010年发布,见证了互联网的兴起。
附:Pyton 3.0在2008年发布。
RHEL 8或将默认使用python3

Red Hat 宣布,它的企业级发行版 RHEL 下个大版本将用 Python 3 替代 Python 2。RHEL 刚刚发布了一个小版本 7.5,这意味着 8.0 版将正式移除 Python 2。Python 2.x 系列的最后版本 Python 2...

问题终结者
2018/04/22
297
0
官方倒计时:Python2的寿命还剩113天,逾期停止维护

作为目前最为流行的编程语言,Python 的出现让计算机编程不再是生僻的专业技能,而是常人都能学习和使用的万金油,它也是人工智能领域里最为常用的语言之一。不过在三个月内,Python 或许要经...

机器之心在发稿时对倒计时网站的截图。
2019/09/10
0
0
Python 2.7 “退休”倒计时 预计 2020 年不再提供维护

有开发者发布了一个网站以对 Python 2.7 的“退休”进行倒计时。 可以看到 Python 2.7 预计将于两年后退休。 该开发者表示,由于官方尚未放出准确的日期,所以预计 Python 2.7 于 2020 年 4 ...

局长
2018/01/08
6.4K
14
Ubuntu 20.04 LTS 开发周期的重要任务:移除 Python 2

官方已宣布 Python 2 将于 2020 年 1 月 1 日后停止维护,而计划于明年 4 月发布的 Ubuntu 20.04 将是下一个长期支持版本,所以 Ubuntu 20.04 的一个重要目标就是移除 Python 2。据 Ubuntu 开...

局长
2019/11/12
5.2K
13
Python 3.8 已发布,现在是切换至新版本的好时机吗?

Python 3.8 已于前两周正式发布,不过目前大多数开发者主要使用的仍是 Python 3.7.x 或更旧的版本。事实上,立刻切换到使用 Python 3.8 可能会引发一些问题。 想知道何时切换至 Python 3.8?...

局长
2019/10/30
6.4K
24

没有更多内容

加载失败,请刷新页面

加载更多

分布式搜索引擎的架构是怎么设计的?

业内目前来说事实上的一个标准,就是分布式搜索引擎一般大家都用elasticsearch (1) es的分布式架构原理能说一下么(es是如何实现分布式的啊) 面试官心里分析 在搜索这块,lucene是最流行的搜...

Star永恒
18分钟前
97
0
集合转数组

ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:   (1)list.toArray(); // 转换为Object类型的数组Object[] arr = list.toArray();for (...

那个猩猩很亮
21分钟前
78
0
使用canvas在前端添加水印

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" cont......

liyoungs
21分钟前
18
0
喜马拉雅音频下载工具 支持免费音频/VIP音频 文尾有彩蛋

最近流行喜马拉雅,趁你有会员,教你下载其资源 .如果没有会员可以找别人的会员获取cookie也可以.也没有别人的会员可以用此工具下载免费的音频也是不错的选择. 下载地址:https://www.90pan....

xiaogg
31分钟前
61
0
zookeeper安装(基础篇)

Zookeeper三种部署模式 1、Standalone模式,单节点部署,适合测试环境。2、伪cluster模式,单节点多实例部署,适合测试环境。3、Cluster模式,多节点集群部署,适合生产环境。 安装前准备...

丁小屁
34分钟前
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部