当前位置: 首页 > 科技观察

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

时间:2023-03-13 15:32:39 科技观察

Python2已正式结束,是时候转向Python3Python编程语言团队刚刚宣布了Python2的最后一个版本,即Python2.7.18。展望未来,Python2将不再接收更新、错误报告、修复或更改。Python软件基金会建议那些使用Python2的人尽快切换到Python3。Python3引入了不向后兼容的新功能和改进功能。版本3自2008年以来一直在积极开发中。Python3的最新版本是版本3.8.2,这是Python3.8的第二个维护版本。该团队目前正在开发Python3.9,该版本的早期预览版将从本月开始提供给开发人员。为了详细了解Python2和Python3之间的变化以及如何成功迁移到Python3,软件开发网站SDTimes采访了ActiveState的产品副总裁JeffRouse。以下是对话的编辑版本。SDTimes:Python2的生命终结对组织意味着什么?Rouse:引入Python3时,GuidovanRossum和核心团队决定需要对该语言进行重大更改,这意味着他们放弃了向后兼容性,这在设计语言时是一个艰难的决定。一两年前做出的设计决策从新技术的角度来看可能站不住脚,因此当Python3最终问世时,社区和核心语言维护者花了十年的大部分时间来说服人们远离Python2。迁移到Python3,以便所有维护者和支持这两个版本的Python社区中的每个人都可以最终确定它。Python2.7的生命周期结束意味着将不再有错误修复,没有改进,而且可能最重要的是,该语言没有安全更新。这包括大多数社区包。组织迁移到Python3需要多长时间?事实上,他们应该已经在考虑这个问题了。这种势头已经建立了相当长的一段时间。最初的想法是在2010年左右每个人(将)开始迁移。2014年将是最后期限,后来被延长到2020年。组织应该已经在考虑它了,如果他们是Python3的新手,那很好。他们实际上可以通过利用所有可用的内容、应用程序和项目来帮助从Python2迁移到Python3。您需要通过一系列步骤来评估从Python2迁移到Python3需要多少工作,每种情况都不同。随着Python2.7的最终版本发布,您认为组织是否感受到最终积极迁移的压力?是的,我们已经在ActiveState看到了这一点。我们同时支持Python2和Python3,很多新客户过来问“嘿,我还在使用Python2。你能帮帮我们吗?”或者“在我们准备好使用Python3之前,你能再给我们一点时间吗?”对于拥有庞大代码库的组织来说,进行更改并不是一件容易的事。即使从Python2迁移到Python3不需要重写,工作量也足够大,您需要非常仔细地梳理您的代码库以确保一切都是正确的。迁移过来。然后,出于同样的原因,您拥有代码库所依赖的所有这些依赖包,因此您也必须考虑到这一点。可能会有一些升级挑战,因此组织现在应该为此做好计划。认识到这一点安全漏洞和缺陷确实慢慢出现。如果他们计划在未来维护应用程序,但也想利用任何新技术,享受明显维护的安全更新和错误修复版本,他们真的很想转向Python3。有什么区别你在Python2和Python3之间看到了什么?Python3确实加强了语法。Python的核心哲学之一是只有一种方法可以做某事,并且把它做好。Python的一大优点是由于它是一种可读性很强的语言,使用起来非常简单,以至于语言设计者实际上决定应该继续改进它。例如,只有一种方法可以做一个迭代器,而不是多种方法来设置一个范围。所以我认为开发人员会从语法中受益匪浅,这会让事情变得更容易一些。Python3的性能不断提高。标准库有许多改进。它以极其强大的方式处理异步功能;它的目标是继续推动语言的发展。迁移过程中有这么多考虑因素,组织如何成功迁移到那里?首先要做的是弄清楚应用程序和实用程序的风险状况。然后你就会知道要投资多少,以及越早越好的重要性。第一件事确实是从Python2应用程序的良好测试覆盖率开始,因为这在您迁移到Python3时至关重要,并且您的测试将继续表明功能没有以任何方式被破坏。我个人的看法是,如果您使用的不是最新的Python2.7,也许您使用的是2.6或2.7的更早版本,那么确保一切正常是最明智的做法。然后,您实际上可以运行源代码转换器...它会为您提供Python2到Python3的结果。之后,它会指出任何需要您手动修复的方面。在此过程中,您会在代码中遇到所使用的各种包的依赖关系。您可能需要迁移到同一包的不同版本。您如何看待未来继续使用Python,Python3将扮演什么角色?Python3显然是当今数据科学背后的引擎,并且数据科学在许多方面都围绕着Python进行了融合。世界上所有最好的数据科学都是用Python完成的。我认为这不会很快改变。当我们谈论Python2时,也有相当多的数据科学工作是在Python2中完成的,但大多数主要软件包(如TensorFlow等)在相当早的修订版中停止支持Python2。所以如果你不是真的想做真正的数据科学,你可以用Python2做大量的数据分析,但对于真正的数据科学和机器学习,你真的应该使用Python3。原标题:MovingfromPython2Python3,作者:ChristinaCardoza