为什么那么多人说 Python 2 要 4 月才退休?
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进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等等,欢迎关注哦。
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Boostnote 0.14.0 发布,跨平台 Markdown 编辑器
Boostnote 0.14.0已经发布了,该版本内容有: 能够停止自动更新 Admonition 添加 TOCUI 使用图表改进导出注释 添加捷克语翻译 将状态图添加到markdown preview 添加确定按钮以导出确认框 修复注释列表上的表情符号渲染 修复 mermaid diagrams 的高度 修复 TOC 链接和滚动 修复预览窗口的滚动行为 修复/修复工作 markdownlint#3147 在 "New note from URL" 对话框中添加错误处理 删除对话框:“type”属性的错字 在主菜单中删除 macOS 的冗余条件 改善读取文件的功能 将 lodash从 4.17.10 升级到 4.17.13 将 js-yaml 从 3.12.0 升级到 3.13.1 将electron升级到 v4 详细信息:https://www.filehorse.com/download-boostnote/change-log/
-
下一篇
Microsoft Edge for Android 支持旧版和新版 Edge 同步
众所周知,微软计划在 2020 年 1 月 15 日发布用于桌面的基于 Chromium 的 Edge Web 浏览器。 目前,基于 Chromium 的网络浏览器仅适用于台式机操作系统。不过最近,Microsoft已在 Android 上发布了Microsoft Edge的更新,为即将发布的版本准备了移动 Web 浏览器。 Edge for Android 用户可发现,该公司已在新版本的浏览器中更新了同步设置。在以前,用户只能使用内置的同步功能将数据与经典版本的 Microsoft Edge 同步,且仅适用于台式机。新版本则使得用户可以在使用新版本或旧版本的 Microsoft Edge 同步数据之间进行选择。 Microsoft方面将旧的浏览器版本称为“ Microsoft Edge Legacy”,将基于 Chromium 的新的 Web 浏览器称为“new Microsoft Edge”。 适用于 Android 的 Microsoft Edge 用户需要通过点击配置文件图标打开浏览器的选项,然后在选项页面上显示“同步到”选项。 打开的页面列出了两个同步目标(新的或旧的 Mic...
相关文章
文章评论
共有0条评论来说两句吧...

微信收款码
支付宝收款码