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

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

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 确实是在 2010-01-01 就 EOL 了,此后自生自灭。

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


目录
相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
257 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
Python Windows
查看Python版本
【10月更文挑战第8天】查看Python版本
24 2
|
1月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
302 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
364 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
前端开发 API 开发者
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
37 4
|
2月前
|
开发者 Python
Python 的主流版本:Python 3.x
Python 的主流版本:Python 3.x
|
2月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
107 6
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
145 1
|
2月前
|
安全 数据安全/隐私保护 开发者
重塑信任:Python开发者如何利用OAuth与JWT,打造安全无虞的授权机制
【9月更文挑战第7天】随着Web应用的复杂度增加,用户数据保护变得至关重要。本文通过问答形式,探讨Python开发者如何利用OAuth和JWT构建高效且安全的授权机制。OAuth让第三方应用能在不获取用户凭据的情况下访问特定服务,保护用户隐私;JWT则通过安全令牌实现身份验证。结合二者,开发者能打造符合现代安全标准的授权体系,提升系统安全性和灵活性。 示例代码展示了如何使用`requests-oauthlib`简化OAuth流程,并用`PyJWT`生成及验证JWT。这种组合不仅加强了安全性,还优化了用户体验。
55 1
|
3月前
|
数据挖掘 定位技术 API
Python GIS神器geopandas 1.0版本来了
Python GIS神器geopandas 1.0版本来了