前言
升级到新的python版本是一种工作,但这种工作不一定会让你的软件用户受益, 因为用户关心的是功能和错误修复,而不是你的更新程度。
(文末有惊喜)
所以,仍有许多人使用 Python 3.7 并不奇怪, 截至 2022 年 12 月,从 PyPI 下载的包中有近 30% 是针对 Python 3.7 的, 这包括作为 CI 运行一部分的自动下载,所以这并不意味着 30% 的应用程序使用 3.7,但这仍然是很多人使用旧版本 Python 的原因。
不过,你可以延迟升级的时间有限,对于 Python 3.7,升级时间是在接下来的几个月内, Python 3.7 将于 2023 年 6 月到期,到期后不再修复错误,也没有安全修复。
(文末有惊喜)
Python 3.7 于 2018 年 6 月发布。正如你在 PEP 537 中所见:
- 错误修复和安全修复子版本在前两年每 3 个月发布一次。
- 之后,仅根据需要发布安全修复程序。
- 3.7 发布后 5 年将停止发布。
也就是说,2023 年 6 月是发布 Python 3.7 的最后一个月, 从 2023 年 7 月开始,如果存在安全漏洞,Python 开发团队将不再修复。
对安全修复的需求是真实的:3.7.9 之后的所有版本都是由于安全修复。撰写本文时的最新版本 Python 3.7.16 已于 2022 年 12 月 6 日发布,其中包含 5 个不同的安全修复程序,从潜在的拒绝服务攻击到缓冲区溢出。
一些 Linux 发行版保证在已知时间段内提供长期支持,包括安全错误修复, 如果你使用的是这些发行版之一,并且它包含 Python 3.7,那么你可以依赖该发行版来提供安全修复,即使 Python 开发团队不会这样做。
所以理论上,你还不需要升级, 但在实践中,有一些警告。
大多数发行版中不包含 Python 3.7
- RedHat 和克隆版不在任何版本中包含 Python 3.7。
- Ubuntu 18.04 确实有 Python 3.7 作为附加组件,但它是 universe 附加组件包的一部分,因此尚不清楚安全支持会有多好;据推测,universe 包安全更新依赖于社区更新, 最后一次安全更新是在 2021 年 12 月,较新的 LTS Ubuntu 版本(20.04、22.04)不包括 Python 3.7。
- Debian 10(“Buster”)包括 Python 3.7,但 Debian 11 不包括。
Linux 发行版不会向后移植所有安全修复程序,只会向后移植那些最重要的:
- 即使是现在,当 Python 维护者自己提供错误修复时,Python 3.7.16 也有许多安全修复没有包含在 Debian 维护的版本中。
- Ubuntu 上一次针对 Python 3.7 的安全更新是在 2021 年 12 月,尽管此后已经进行了多次安全更新。
当然,长期支持只会持续有限的时间:
- Debian Buster 将于 2024 年 6 月结束其自身的安全更新,因此这只会让你多花一年时间。
- Ubuntu 18.04 将于 2023 年 4 月结束标准安全更新;之后,你需要付费才能获得安全更新。
你的依赖项将停止获取更新
一旦 6 月到来,第三方 Python 库和框架将开始放弃对 Python 3.7 的支持, 这意味着如果这些库有一个严重的错误,修复程序可能无法在 Python 3.7 上使用,并且你的 Linux 发行版不会为每个现有的 Python 库做反向移植。
事实上,一些库和框架已经开始放弃对 Python 3.7 的支持:
Package | Latest version supports 3.7? | Last release supporting 3.7 |
---|---|---|
NumPy | No | April 2022 |
Pandas | No | December 2021 |
Django 4.x | No | Never supported |
Django 3.2 LTS 仍然支持 Python 3.7,并将在 2024 年 4 月结束自己的安全更新。
现在是从 3.7 升级的时候了在短期内,你的最低目标是切换到一个 Python 版本,该版本维护了可用的依赖项版本。例如,如果你依赖 Pandas,正如我们所见,最后一个与 3.7 兼容的版本是在 2021 年 12 月发布的。因此,你至少希望使用 Python 3.8。
幸运的是,Python 3 版本相当向后兼容, 所以可以做的是:
- 升级到 3.8。
- 修复你发现的任何错误。
- 升级到 3.9,修复所有错误。
- 重复直到你使用 Python 3.10 或从 2023 年 1 月左右开始使用 Python 3.11。
读者福利:知道你可能对Python感兴趣,便准备了这套python学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!
零基础Python学习资源介绍
👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉Python必备开发工具👈
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料领取
这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以点击下方微信卡片免费领取 ↓↓↓【保证100%免费】
或者
【点此链接】领取
好文推荐
了解python的前景:https://blog.csdn.net/xiqng17111342931/article/details/127705925
了解python的副业:https://blog.csdn.net/xiqng17111342931/article/details/127872402