Python 2大限来了!101天后自生自灭,官方不再维护更新 | 附升级指南

点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长

每天早上8点20分, 第一时间与你相约

每日英文

There are some things that we have no choice but to accept, there are some people who we have no choice but to let go, and there are some roads that after we've chosen them, there's no looking back.

有些事,发生了就只能接受。有些人,失去了就只有放手。有些路,选择了就没得回头


每日掏心话

淡然面对幸运,笑着面对不顺,这才是人生。很多时候,我们是在毫无防备中受伤的,一句话,一件事,都有可能让牵手成为陌路。


责编:乐乐

640?wx_fmt=png

程序员小乐(ID:study_tech)第 635 次推文   图片来自网络


   正文   


Python 2终于走到了尽头。

官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。

之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。

他们解释称,并不想伤害Python 2用户,这个决定是为了Python用户好。

只有放弃Python 2,他们才能让Python 3变得更好。

这一举动得到了不少支持与理解:

640?wx_fmt=png

也有人念旧。

有网友开始放话,表示自己会支持Python2的维护与更新,不为什么,就是想用Python 2。

但随着官方不再支持Python 2,近年来也有大量的工具宣布放弃支持Python 2。比如TensorFlow、Pandas、Numpy、Jupyter Notebook、Cython等工具。

640?wx_fmt=gif

如果想用好Python,摆在Python 2用户面前的路似乎就只有一条:

升级到Python 3。

升级攻略

升级的路上,会遇到很多问题,Python官方先帮你解答了一波:

1、没在2020年1月1日之前更新会怎样呢?

如果有人发现Python 2里面有灾难性的安全漏洞,也不会有太多人志愿帮忙修补的。

需要Python 2的相关帮助,也不会有很多人去帮你了。随着时间的推移,能帮到你的人还会越来越少。

很多好工具都用不了,因为只有Python 3才支持。这样的话,还可能拖累那些跟你一起工作的小伙伴。

以上问题,有些会从1月1日开始产生,另一些会随着时间越来越严重。

2、我在Python 2里写的代码,怎么迁移到Python 3?

有中文文档提供,详细介绍了步骤,可以自动迁移。除此之外,由2到3,一些函数发生了变化,文档里有列表,各位可以自行查找,手动修改:

640?wx_fmt=png

中文文档:2to3 - 自动将 Python 2 代码转为 Python 3 代码
https://docs.python.org/zh-cn/3.7/library/2to3.html

另外,还有两个英文文档可以参考:

Porting Python 2 Code to Python 3
https://docs.python.org/3/howto/pyporting.html

Python 3 Statement Practicalities
https://python3statement.org/practicalities/

3、我不确定我用的软件会不会依赖于Python 2,怎么办?

如果你是从供应商那里买的软件,问他们就好了。如果你是向开发者或者系统管理员付费的话,就问这些人。

要是找不到相关的供应商和技术人员,就用“Can I Use Python 3?”去查找,你到底需不需要某个用Python 2写的软件。

Can I Use Python 3:
https://pypi.org/project/caniusepython3/

想知道某些特定的工具,和Python 3兼不兼容,可以看Python 2.7 Readiness、Python 3 Statement,以及Python 3 Readiness。

4、我还是依赖一些用Python 2写的软件,怎么办?

同理,也是询问供应商和技术支持人员,如果你是向开发者或者系统管理员付费,就去问他们。

问不到的话,用“Can I Use Python 3?”来查找升级到Python 3的工具。

Can I Use Python 3:
https://pypi.org/project/caniusepython3/

5、有人能帮我一下么?

有。如果你能支付扩展支持 (Extended Support) 的费用,就跟这些供应商联系吧:

https://wiki.python.org/moin/PythonConsulting/Python%202%20support%20and%20migration

你心里的问题,可能不止这些,但现在的你可能更需要一些鼓励,以便顺利完成迁移,所以来看Hacker News顶楼 (@ken) 的留言吧:

Python 2到3,是我做过的最简单的迁移之一了。

有一个叫“six”的库可用,而且几乎在任何情况下,都能写出2和3兼容的代码。

six库传送门:
https://pypi.org/project/six/

Python 2往事

Python源自20世纪80年代末,当时Python的创建者Guido van Rossum正在CWI(荷兰数学与计算机研究所)研究Amoeba分布式计算系统,使用C和Unix shell。

在这个过程中,他逐渐对这些语言感到不爽,不仅运行速度太慢,无法处理复杂逻辑,也不得不重复造轮子。

640?wx_fmt=gif

于是Guido就有了在业余时间创建Python的念头。1991年,Python第一版问世,可以说是兼具各家之长。

之后一路势如破竹,2003年以来,Python一直在TIOBE排行榜中最受欢迎的编程语言的前十位。

Python在2007年获得了TIOBE年度最佳编程语言奖。该奖项是根据TIOBE指数,授予全年受欢迎程度最高的编程语言。

Python 2当时也受到大公司青睐:包括Google、Facebook、亚马逊在内的诸多知名公司都在使用它,包括YouTube、Reddit在内的大型应用,都是出自Python。

科研机构NASA还用Python来简化航天飞机的任务流程设计,去探索太空。

“人生苦短,我用Python”成为被大多数程序员熟知的“梗”,Python也成为了一门吞噬世界的语言。

这中间,虽然有Python2的功劳,也有Python基于时过境迁进行的“蜕变”。

Python 3未来

随着算力的不断增强,计算平台发生变迁,Python这条“巨蟒”在新的运行环境中,逐渐变得力有不逮。

2008年,为了修复缺陷,更好地适应新环境,让Python更有生命力,Python社区做了一个非常有决断的动作:

推出Python 3,不向后兼容。

当时给Python 2.7定下的Deadline是2015年。因为担心大量现有代码无法迁移到Python 3,这一时间又推迟到了2020年。

这背后长痛不如短痛的想法,轻装前行的理念等等, 大部分开发者都理解。

而且,这也为Python赢得了不少使用场景,最典型的就是成为了机器学习这一热门领域的宠儿。

谷歌的TensorFlow使用的就是Python。Facebook更直接,从PyTorch的名字来看就知道它和Python密不可分的联系。

640?wx_fmt=png

但版本割裂带来的阵痛,还是成为了Python被诟病的一大重点。

虽然Python也发布了程序,帮助开发者更好地将Python 2代码转换为Python 3。

但这也让不少人纠结与徘徊,更有对手看到了机会,而且来势汹汹。

比如谷歌2009年正式推出的Go,更是“明目张胆”地抢人——开发一款从Python 2.7到Go语言的编译器。

还有Julia。这一源自MIT的新编程语言,创建于Python 3发布第二年,2012年公开发布。

主要的应用领域为数据分析、机器学习、物理学、数学、人工智能、信号与图像处理等等。

640?wx_fmt=png

而这些,都是当下Python发挥作用、面向未来的核心阵地。

不过,Python也没有停下来发展的脚步,也在不断推陈出新,面向未来编程。

比如PyPy的不断优化,SciPy和NumPy的不断完善等等,都在放大Python的能量。

现在,Python辞旧的倒计时已经挂起。

这个起于20世纪80年代一个业余项目的语言,到现在仍旧具备超强生命力,兼容并包,成为开发者手中的利器,不断吞噬世界。

640?wx_fmt=gif

640?wx_fmt=png


乾明 栗子 发自 凹非寺

量子位 报道 | 公众号 QbitAI

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。


欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。

猜你还想看


不会SQL注入,连漫画都看不懂了

中美互联网科技公司对比图!你有的,我们也有!

Redis基础都不会,好意思出去面试?

理解MySQL锁和事务,看这篇如何?

团队中的 Git 实践

640?wx_fmt=png

关注「程序员小乐」,收看更多精彩内容
嘿,你在看吗640?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值