Python 2已正式寿终正寝,是时候迁移到Python 3了

译文
开发 开发工具
Python 2已正式寿终正寝。Python编程语言团队刚宣布了Python 2的最后一个版本Python 2.7.18。展望未来,Python 2将不再收到更新、错误报告、修复版或更改。

[[324849]]

【51CTO.com快译】Python 2已正式寿终正寝。Python编程语言团队刚宣布了Python 2的最后一个版本Python 2.7.18。展望未来,Python 2将不再收到更新、错误报告、修复版或更改。

Python软件基金会建议使用Python 2的那些人尽快切换到Python 3。Python 3引入了不向后兼容的新功能和改进功能。自2008年以来,版本3处于积极开发的状态。Python3的最新版是版本3.8.2,这是Python 3.8的第二个维护版本。团队目前正在开发Python 3.9,该版本的早期预览版从本月开始供开发人员使用。

想进一步了解Python 2和Python 3之间的变化以及如何成功迁移到Python 3,软件开发网站SD Times采访了ActiveState的产品副总裁Jeff Rouse。以下是对话的编辑版。

SD Times:Python 2寿终正寝对组织而言意味着什么?

Rouse:引入Python 3时,Guido van Rossum及核心团队认为需要对该语言进行重大更改,这意味着他们要摈弃向后兼容性,而你在设计一种语言时这是艰难的决定。从新技术的角度来看,一二十年前做出的设计决策可能站不住脚,于是最终推出Python 3后,社区和核心语言维护者在十年间的大部分时间用于劝说人们从Python 2迁移到Python 3,以便所有维护者以及支持这两个版本的Python社区中的每个人都可以最终完成。

Python 2.7走到尽头意味着,将不再有任何错误修正版、没有改进,可能最重要的是,没有针对该语言的安全更新。这包括大多数社区软件包。

组织迁移到Python 3要花多久?

实际上,它们应该已经在考虑这一点。造势已有相当长一段时间。最初的想法是2010年左右每个人(都会)开始迁移。2014年将是截止日期,后来延长到了2020年。

组织应该已经在考虑,如果它们刚接触Python 3,那很好。它们实际上可以利用所有可用的内容、应用程序和项目来帮助从Python 2迁移到Python3。你需要执行一系列步骤来评估从Python 2迁移到Python 3需要多大的工作量,每种情况有所不同。

Python 2.7的最后版本已发布,你认为组织是否感受到了最终要积极迁移的压力?

是的,我们在ActiveState上已看到了这一幕。我们同时支持Python 2和Python 3,有许多新客户过来说“嘿,我仍在使用Python2。你能帮助我们摆脱困境吗?”或“你能给我们多一点时间,直到我们准备好使用Python 3吗?”

对于拥有庞大代码库的组织而言,进行更改并非易事。即使从Python 2迁移到Python 3不用重写,这项工作也足够重要,你需要非常认真地梳理代码库,以便确保将所有内容迁移过去。然后,出于同样的道理,你拥有代码库依赖的所有这些相关软件包,因此你还要考虑到这一点。

可能会有一些升级难题,因此组织应立即规划做好这项工作。要认识到安全漏洞和缺陷确实会慢慢出现。

如果他们计划将来维护应用程序,又想充分利用任何新技术,享有明显得到维护的安全更新和错误修正版,他们确实要转向Python 3。

你会在Python 2和Python 3之间看到什么区别?

Python 3确实加强了语法。Python的核心理念之一是,做某事只有一种方法,并且做得很好。Python的一大优点是,它是一种非常易读的语言,使用起来非常简单,以至于语言设计人员其实认定应该继续对此进行改进。

比如说,只有一种方法可以做迭代器(iterator),没有多种方法可以设定范围。因此,我认为开发人员会从语法方面受益匪浅,这使事情变得更简单了一点。Python 3的性能继续提高。标准库有大量改进。它以极其强大的方式处理异步函数;总体上讲,它旨在继续推进这门语言。

由于迁移过程中有许多考虑因素,组织如何才能成功地迁移过去?

首先要做的是弄清楚应用程序和实用程序面临的风险状况。然后,你便知道要投入多少,早做而不是晚做有多重要。第一件事其实是从Python 2应用程序出色的测试覆盖入手,因为在你迁移到Python 3时这至关重要,你的测试将继续表明该功能并未受到任何破坏。

我个人的看法是,如果你未使用最新的Python 2.7,也许你在使用2.6或2.7的早期版,那么确保一切正常运行是最明智的。然后,你实际上可以运行源代码转换器……这为你提供了将Python 2转换成Python 3的结果。之后,它会指出需要你手动修复的任何方面。

在此过程中,就你使用的各种软件包而言,你会在代码中遇到依赖项。你可能需要迁移至同一软件包的不同版本。

你如何看待Python在将来继续使用,Python 3将扮演怎样的角色?

如今,Python 3显然是数据科学背后的引擎,而且在许多方面,数据科学已围绕Python融合在一起。

所有世界优秀的数据科学都用Python来完成。我认为这种情况不会很快发生变化。

我们谈论Python 2时,有相当多的数据科学工作也是用Python 2完成的,但是大多数主要软件包(比如TensorFlow等)在相当早的修订版中不再支持Python 2。因此,如果你其实不考虑搞真正的数据科学,可以用Python 2处理很多数据分析,但是要搞真正的数据科学和机器学习,你确实应该使用Python 3。

原文标题:Moving from Python 2 to Python 3,作者:Christina Cardoza 

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】 

 

责任编辑:lvsuhan 来源: 51CTO
相关推荐

2017-12-15 13:17:29

网络中立互联网宽带

2012-03-12 17:27:14

Ubuntu10.10正式结束

2012-11-28 11:28:44

命令行

2016-09-28 19:52:52

2010-07-21 09:30:40

Linux驱动

2009-10-16 14:39:47

PageRankGoogle

2015-02-05 10:09:59

Windows RT

2014-03-26 16:00:37

WinXP酷盘数据安全

2014-04-01 09:07:54

2015-01-08 09:12:46

云计算大型数据中心

2019-11-11 15:36:22

Windows 10Windows 7Windows

2017-03-15 13:39:06

2016-11-04 14:20:52

网络通信云时代云网络

2013-12-20 09:41:22

Windows XP微软

2009-09-18 08:34:12

Windows 200停止技术支持

2021-01-12 19:45:39

Flash路由器软件

2020-05-16 12:00:43

微软Windows32位

2012-12-03 11:39:49

命令行IT技术周刊

2009-08-01 08:46:47

2020-01-18 19:07:03

Windows 7Windows微软
点赞
收藏

51CTO技术栈公众号