网游之神级机械猎人,Python 2 将死,你预备好了吗?,一年级看图写话

admin 2周前 ( 04-06 10:06 ) 0条评论
摘要: 作者|SeniorWriter译者|Sambodhi编辑|NataliePython软件基金会宣布。到2020年元旦,将不再为编程语言Python2.x分支提供任何支持。...


作者 | Senior Writer

译者 | Sambodhi

修正 | Natalie

Python 软件基金会宣告,郯城邳县作业到 2020 年元旦,将不再为编程言语 Python 2.x 分支供给任何支撑。这一天将标志着一出连续多年的戏曲的高潮:Python 从较旧的、功用较弱的、广泛运用的版别过渡到更新的、更强壮的版别。可是,Python 的新版别在选用上依然落后于它的旧版别。未来几年里,还会有很多人持续运用 Python 2 编写的程序,当国际被 Python 3 敏捷占据之时,受困于寿数终将完结的 Python 2,你应该怎么办?

现在,是时分了。与 Python 2 比较,Python 3 有着很多的技能和最终用户增强功用,但却未能永久代替 Python 2。PyPI 存储库中保管的大多数流行包都支撑 Python 3(该库是可重用 Python 代码的榜首站)。Python 3 现淮南谢傻子在现已成为许多 Linux 发行版默许的 Python 解说笨贼神狗器。大多数最近出书的书本、编码学院(coding academy)和在线课程都向初学者引荐了 Python 3。

现在的坏消息是,Python 2,就像 Windows 7(或 Windows XP),在未来的几年里,还将会随同咱们很长时刻。咱们中的许多人还将持续依靠于运用 Python 2 编写的运用程序。由于内部约束,咱们中的一些人乃至还会持续将 Python 2 用于新的运用程序。假如这个国际正在被 Python 3 敏捷占据,而你却受困于 Python2,这该怎么是好呢?让我pornos们来看看都有哪些挑选吧!

Python 2 寿数完结意味着什么

关于 Python 2 走向 EOL(End of Life,寿数中止)的榜首件事也是最重要的作业是:Python 2 运用程序仍将运转。不要以为这是千年虫的问题,Python 2 运用程序并不会在 2020 年 1 月 1 日悉数奇特地中止运转。仅仅中心 Python 开发团队将不再对 Python 2 供给任何官方支撑罢了。

下面是 Python 2 EOL 在实践运用中的意义:

  • 将不再供给 Python 2 的官方 bug 修正和安全补丁。 中心开发团队将不会修正 Python 2 解说器或 Python 规范库中新发现的问题。可是,商业供货商能够自己保护 Python 2,而其他第三方能够对 Python 2 代码库进行分叉,并持续中心团队的作业。(稍后将更具体介绍)
  • 第三方 Python 项目将抛弃 Python 2。 而那些一起支撑 Python 2 和 Python 炽冻龙3 的库将开端把资源专门投入 Pyt透蜜这个牌子怎么样hon 3。这些项目中有许多是志愿者运转的,只支撑一种言语版别的话,作业量就要少得多。每个项目都将决议是否支撑 Python 2,但许多首要的 Python 2 项目许诺到 2020 年才彻底抛弃对 Python 2 的支撑。
  • 对 Python 2 的渠道支撑将会削弱。 Linux 发行版和云效劳供给商或许会持续包含 Python 2 运转时。但随着时刻的推移,估计对 Python 2 的支撑将会逐步削弱。简直能够必定的是,在云渠道上依然能够运转 Python 2 的容器化版别,可是不能确保云效劳供给商将持续保护自己的 Python 2 容器。

假如你被困在 Python 运用程序中,那么怎么应对短少 Python 2 支撑的状况?从长远来看,最好的办dlidli法是找到一种能够消除育阴房对 Python 2 一切依靠项的战略。但这仅仅很多挑选中的一个。

从 Python 2 过渡到 Python 3

依据代码库的巨细和外部依靠联系,将 网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话Python 2 过渡到 Python 3 或许比你预期的更简略。Python 的官网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话方文档有一些简略的过程,你能够经过这些过程来确认你的项目是否“永不过期”,也便是说,能够在 Py钟铭选thon 3 中运用,只需很少的调整或许无需任何调整。你能够采纳的最好的榜首步便是,运用caniusepython3包来找出那些组件或依靠项(假如有的话)会阻挠搬迁。

假如你坚持运用 Python 2,是由于某个运用程序的某个特定组件只能在 Python 2 上妻欲才干用的话,那么就要从这个组件开端过渡。检查是否存在兼容 Python 3 的代替方案,然后从该点向外重建运用程序。这一主意是找出你对 Python 2 依靠地点的最小方位,并处理它们。

假如你有必要以某种方式持续运用 Python 2,那么至少能够做的便是从搬迁到最新版别的 Python 2(截止网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话本文成稿时为 Python 2.7.16)开端,并将其作为 Python 3 的起点。这样,你就能够从 Python 2.7 在其正式生命周期完毕之前供给的 Bug 修正获益。

运用代替的 Python 2 运转时

假如修正 Python 2 代码库不是一个可行的主张,陆柏久那么另一种挑选是运用由第三方开发的不同的 Python 2 运转时。代替的 Python 2 运转时或许比 Python 2 自身具有更长的支撑窗口。

Tauthon

https://github.com/naftaliharris/tauthon

据该项意图自述文件称,Tauthon 是 Python 2.7.16 的一个分支,具有从 Python 3.x 派生出来的新语法、内置函数和黄荣钢库。只需保护者能够供给,Tauthon 还包含为该言语供给修正和补丁。理论上,Tauthon 应该阿卡丽簿本作为 Python 2.7 的代替品。截止本文网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话成稿时的网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话最新版别 Tauthon 2.8 就包含函数注释、强制要害词参数、async/await语法以及曾经仅在 Python 3 中可用的其他功用。

PyPy

https://pypy.org/

PyPy 是 Python 的即时加快运转时,它运用 Python 2 作为其内部根底架构的要害部分,并且长时间以来一向支撑 Python 2 作为其首要版别。该项意图文档宣称“由于 RPython(PyPy 的根底)构建在 Python 2 之上,而这种状况既不或许改动,也便是说,只需 PyPy 自身存在,那么 PyPy 的 Python 版别就会永久存在。”但 PyPy 或许会对一些依靠于 C 扩展的一些 Python 包形成兼容性或功用问题,虽然 PyPy 开发团队一向在尽力处理这些问题。

IronPython

https://iron网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话python.net/

IronPython 是.Net 运转时的 Python 完成,网游之神级机械猎人,Python 2 将死,你准备好了吗?,一年级看图写话它的 Python 2 版别依然得到了自动的支撑。它现在的开发人员名单现已宣告,小美挤牛奶他们为了将精力会集在 IronPython,因而不太或许在 2020 年后持续支撑 Python 2。可是,这并不意味着其他人不能持续供给自己的支撑。

Cython

https://cython.org/

另一种或许是 Cython,虽然支撑窗口有限。Cython 将 Python 编译为 C,并供给可选的类型以增强功用。并且,从一开端就支撑 Python 2。能够运用 Cython 将 Python 2 代码转换成 C,以持续作为“冻住的”二进制文件来运用。这样做乃至能够进步功用,这要取决于运用程序的性质。(首要是受 I/O 的约束,程序不会网游之绝色少年有太大的改善。)

不过,Cython 方案在今年年底抛弃对 Python 2 的支撑。除此之外,你将会堕入运用 Cython 的旧版别持续运转旧版别的 Python 脚本的窘境。

购买扩展的 Python 2 支撑

一个长时间的处理方案是取得 Python 处理方案供货商的支撑。ActiveState 是 ActivePython 发行版和 Komodo IDE 的创建者,为那些期望持续运用 Python 2 的客户,或许那些期望经过标识 Python 仓库中有必要在 Python 3 重写的部分来搬迁到 Python 3 的客户供给支撑。

一些供货商为 Python 2 供给支撑,作为其在另一个受支撑产品中的一部分。Red Hat 企业版 Linux 6 和 7 包含了 Python 2,因而,从 Red Hat 购买的针对这些版别的操作系统的任何支撑合同都将包含在产品的支撑生命周期内持续支撑 Python 2。

第三种挑选是向咨询公司或承包商购买支撑。他们能够供给的支撑程度会因你的需求和志向而有所不同。它或许包含提出一个过渡方案来抛弃 Python 2 并重写任何依靠的软件(或许是最好的长时间战略),或许手动将 Phthon 2 的补丁合并到运转时的自定义构建中(这做法雄心壮志,并且还很杂乱)。

自己保护 Python 2

P爸爸不要射ython 是一个开源项目。你自己彻底能够自由地完成任何需求的修正。假如修正是对 Python 规范库的修正,这一般不会太难,由于大多数 Python 规范库自身便是用 Python 编写的。可是假如你需求在规范库运用的 C 模块或 CPython 解说器进行更改,那将更具有挑战性。由于你需求了解 C 并了解 CPython 的内部结构才干做到这一点。

什么都不做

假如它没出毛病,请不要企图去修正它。这是许多企业在 Windows NT 和 Windows 2000 寿数中止时所选用的战略。理论上,仅供内部运用且未公开到公共互联网的 Python 运用程序能够无限期运转。

虚拟机和容器化供给了在受控环境中坚持这些类型的运用程序坚持正常运转的办法。你能够将 Python 2 运habimi行时的特定版别“冻住”到容器映像或许虚拟机中,以及它的规范库、运用程序所需的模块和运用程序自身。

也便是说,任何留传的运用程雷剧陈世美序,即使是没有外部露出的运用程序,都应该定时从头评价。不中村玉绪管在什么状况下,对 Python 2 用户来说,最好的长时间战略都是搬迁到 Python 3。Python 2 虽然十分棒,但它真的现已过期了。

原文链接:

https://www.infoworld.com/article/3365221/python-2-end-of-life-how-to-survive-the-end-of-python-2.html?upd=1553829360035

文章版权及转载声明:

作者:admin本文地址:http://www.feilu18.cn/articles/663.html发布于 2周前 ( 04-06 10:06 )
文章转载或复制请以超链接形式并注明出处竞技宝下载_竞技宝下载安装_竞技宝ios下载安装