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

从Python 2切换到Python 3你所需要了解的

时间:2023-03-18 15:04:03 科技观察

从Python2切换到Python3您需要了解的内容Python2将在几周后达到其生命周期的尽头,这篇文章是您在迁移到Python3之前应该了解的内容。从2020年1月1日开始,Python2.7将不再受官方支持。在此日期之后,将发布最终的错误修复计划,仅此而已。Python2的生命周期结束(EOL)对您来说意味着什么?如果您运行的是Python2,则需要迁移。谁决定Python2的生命终结?2012年,维护Python编程语言的团队审查了它的选项。有两个越来越不同的代码库,Python2和Python3。两者都很流行,但更新的版本并没有被广泛采用。除了Python3中对Unicode支持的完全重写改变了处理数据的底层方式而导致的中断之外,这个主要版本更改还包括一些非向后兼容的更改。这个错误的决定是在2006年写的。为了减轻这种脱节,继续维护Python2并向后移植了一些Python3功能。为了进一步帮助社区过渡,EOL日期从2015年延长到2020年,又延长了五年。该团队知道维护不同的代码库是一件必须解决的麻烦事。最后,他们宣布了一个决定:“我们是制作和维护Python编程语言的志愿者。我们已经决定,2020年1月1日将是我们停止使用Python2的日子。这意味着在这个日期之后,即使是安全问题已经在里面找到了,我们将不再改进它。你应该尽快升级到Python3。”CPython的核心开发人员和Python指导委员会的现任成员NickCoghlan在他的博客中添加了更多信息。PEP404由BarryWarsaw(也是Python指导委员会成员)编写,详细说明了Python2.8永远不会到来的原因。还有人支持Python2吗?对Python2的支持因提供商和供应商而异。谷歌云已经宣布了它计划在未来如何支持Python2。RedHat还宣布了RedHatEnterpriseLinux(RHEL)计划,而AWS宣布了AWS命令??行界面和SDK的次要版本更新要求。您还可以阅读VickiBoykis的StackOverflow博客文章“为什么迁移到Python3需要这么长时间?”,其中她指出了Python3采用缓慢的三个原因。使用Python3的原因不管持续的支持如何,尽快迁移到Python3是个好主意。Python3将继续得到支持,它有一些Python2没有的非常优雅的东西。最近发布的Python3.8包括海象运算符、位置参数和自描述格式字符串等功能。Python3早期版本引入的特性,如异步IO、格式化字符串、类型提示和pathlib,这里只简单提及。下载最多的360包已经迁移到Python3。您可以使用caniusepython3包检查您的requirements.txt文件,看看您依赖的包是否没有被迁移。将Python2移植到Python3的参考资源有许多参考资源可以帮助您轻松迁移到Python3。例如,“AGuidetoPortingPython2toPython3”列出了许多工具和技巧,可帮助您实现单源兼容性蟒蛇2/3。Python3statement.org上也有一些有用的提示。DustinIngram和ChrisWilcox在CloudNext'19上发表了演讲,详细介绍了过渡到Python3的一些动机和迁移模式。TreyHunner的PyCon2018演讲涵盖了Python3最有用的功能,并鼓励您进行迁移,以便您可以采用他们的优势。