从2020年1月1日开始,Python 2.7将不再受正式支持。在此日期之后,计划进行一个最终的错误修复 ,仅此而已。
寿命终止(EOL)对您意味着什么? 如果运行Python 2,则需要迁移。
谁决定退出Python 2?
在2012年 ,维护Python编程语言的团队审查了其选项。 有两个越来越不同的代码库,Python 2和Python3。两者都很流行,但是较新的版本并未得到广泛采用。
除了Python 3通过完全重新使用Unicode支持来中断处理数据的基本方式的中断之外,主要版本的更改还允许一次性实现非向后兼容的更改。 该决定于2006年记录在案。 为了减轻破坏,Python 2继续维护,并向后移植了一些功能。 为了进一步帮助社区过渡,将停产日期从2015年延至2020年 ,又延长了五年。
维护不同的代码库是团队知道必须解决的麻烦。 最终, 宣布了一项决定:
“我们是致力于并使用Python编程语言的志愿者。我们已决定2020年1月1日将是我们停止使用Python 2的日子。这意味着即使在那天之后,我们也将不再对其进行改进发现其中存在安全问题。您应尽快升级到Python3。”
Nick Coghlan是CPython的核心开发人员,也是Python指导委员会的现任成员, 他在其博客中添加了更多信息 。 由Barry Warsaw (也是Python指导委员会的成员)编写的PEP 404详细说明了Python 2.8永远不会成为现实的原因。
有人还在支持Python 2吗?
提供者和供应商对Python 2的支持会有所不同。 Google Cloud宣布了未来计划如何支持Python 2。 红帽还宣布了红帽企业Linux(RHEL)的计划 ,而AWS宣布了对AWS命令行界面和SDK的 次要版本更新要求 。
您还可以阅读Vicki Boykis的Stack Overflow博客文章“ 为什么向Python 3迁移需要这么长时间? ”,其中她指出了Python 3采用缓慢的三个原因。
使用Python 3的理由
不管是否有持续的支持,尽快迁移到Python 3是一个好主意。 Python 3将继续受到支持,它具有Python 2所没有的一些非常整洁的东西。
蟒3.8包括这样的特征为海象操作者 , 位置专用参数 ,和自我记录F-字符串 。 Python的3介绍了早期版本的功能 ,如ASYNCIO , F-字符串 , 类型提示 ,并pathlib ,只是仅举几例。最受欢迎的360个下载最多的软件包已迁移到Python 3 。 您可以使用caniusepython3软件包检查您的requirements.txt文件,以查看您依赖的任何软件包是否尚未迁移。
将Python 2移植到Python 3的资源
有许多资源可简化向Python 3的迁移。例如,《将Python 2移植到Python 3》指南列出了许多工具和技巧,可帮助您实现与Python 2/3单一源的兼容性。 在Python3statement.org上还有一些有用的技巧。
Dustin Ingram和Chris Wilcox 在Cloud Next '19上进行了演讲,详细介绍了向Python 3过渡的一些动机和迁移模式。TreyHunner 在PyCon 2018上发表了有关Python 3最有用的功能的演讲,该功能鼓励您进行迁移,因此您可以利用它们。
加入我们!
距2020年1月1日仅数周的路程。 如果您需要每天提醒一下这有多快(您使用Twitter),请按照Countdown to Python 2 Sunset Twitter bot进行操作。
翻译自: https://opensource.com/article/19/11/end-of-life-python-2