升级到新的软件版本本身是一项工作,而且对软件用户没有好处,因为用户关心功能和错误修复,而不是版本的最新程度。因此,有很多人人仍在使用 Python 3.8 可能并不奇怪,截至 2024 年 9 月,从 PyPI 下载的软件包中约有 14% 适用于 Python 3.8,这包括作为 CI 运行一部分的自动下载,因此这并不意味着 14% 的应用程序使用了 3.8,但这仍然是一天内安装了 2.5 亿个软件包!虽然如此,但我们可以延迟升级的时间有限,对于 Python 3.8,升级的时间是越快越好,因为Python 3.8 将于 2024 年 10 月底结束其生命周期,到期后会将:
- 没有更多的错误修复。
- 不再有安全修复程序。
- 在前两年,错误修复和安全修复子版本每 2 个月发布一次。
- 在此之后,仅根据需要进行安全修复。
- 发布将在 3.8 发布 5 年后停止。
第一是Linux 发行版只会做这么多,而且也不是永远支持
Linux 发行版不会向后移植所有安全修复程序,只向后移植那些最重要的安全修复程序,例如,Python 3.8.19 中的一些安全修复程序从未进入 Ubuntu 软件包中。当然,长期支持仅在有限的时间内持续,例如,Ubuntu 20.04(包含 Python 3.8 的版本)将于 2025 年 4 月结束常规安全更新,之后,将能够获得个人使用的安全更新,但对于大规模商业用途,就需要向 Ubuntu 付费。第二个问题是你的依赖包将停止获取更新
第三方 Python 库和框架已经开始放弃对 Python 3.8 的支持,这意味着,如果这些库存在严重错误,则修复程序可能在 Python 3.8 上不可用,并且你的 Linux 发行版在很大程度上不会为每个存在的 Python 库进行向后移植。
软件包 |
最新版本支持 3.8? | 支持 3.8 的最新版本 |
NumPy | 不 | 2022 年 12 月 |
Pandas | 不 | 2023 年 6 月 |
Django 5.x 版本 | 不 | 从不支持 |
现在是时候从 3.8 升级了
在短期内,最低目标是切换到维护可用依赖项版本的Python版本,例如,如果你依赖 Pandas,正如我们所看到的,上一个兼容 3.9 的版本是在 2023 年 6 月,所以你至少要使用 Python 3.9。比较好的是,Python 3 版本相当向后兼容,所以你可以这么做:- 升级到 3.9。
- 修复发现的任何错误。
- 升级到 3.10,修复所有错误。
- 重复直到 Python 3.12 甚至 3.13。
其它潜在的更大问题
升级需求不是一次性事件,而是持续需求:- Ubuntu 20.04 将于 2025 年 4 月停止获取免费安全更新。
- Python 3.9 将于 2025 年 10 月停止获取安全更新。
- Django 5.2 将于 2026 年 4 月停止获取安全更新。
- Python 3.9 于 2020 年 10 月发布。
- Python 3.10 于 2021 年 10 月发布。
- Python 3.11 于 2022 年 10 月发布。
- Python 3.12 于 2023 年 10 月发布。
如果你在2024 年仍在使用 Python 3.8,说明你们可能因为有其他更重要的升级或是遇到组织问题,所以一直在推迟,下一步建议应该设置一个持续的流程来定期更新版本和依赖了。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/12553/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取