社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python3.8即将结束生命周期

机器学习算法那些事 • 7 月前 • 228 次点击  
    升级到新的软件版本本身是一项工作,而且对软件用户没有好处,因为用户关心功能和错误修复,而不是版本的最新程度。
因此,有很多人人仍在使用 Python 3.8 可能并不奇怪,截至 2024 年 9 月,从 PyPI 下载的软件包中约有 14% 适用于 Python 3.8,这包括作为 CI 运行一部分的自动下载,因此这并不意味着 14% 的应用程序使用了 3.8,但这仍然是一天内安装了 2.5 亿个软件包!
虽然如此,但我们可以延迟升级的时间有限,对于 Python 3.8,升级的时间是越快越好,因为Python 3.8 将于 2024 年 10 月底结束其生命周期,到期后会将:
  • 没有更多的错误修复。
  • 不再有安全修复程序。
接下来让我们看看我们为什么要升级。
生命周期结束是什么意思?
Python 3.8 于 2019 年 10 月发布,距今已有五年时间。正如你在 PEP 569 中看到的:
  • 在前两年,错误修复和安全修复子版本每 2 个月发布一次。
  • 在此之后,仅根据需要进行安全修复。
  • 发布将在 3.8 发布 5 年后停止。
也就是说,2024 年 10 月是 Python 3.8 版本发布的最后一个月,从 2024 年 10 月开始,如果存在安全错误,Python 开发团队将不会修复该错误。
现在对安全修复的需求是比较强烈的,因为3.8.10 之后的所有版本都是由于安全修复而产生的,在撰写本文时,最新版本 Python 3.8.20 于 2024 年 9 月 6 日发布,其中包含 14 个不同的安全修复程序
“我不需要升级,我使用的是长期支持的 Linux!
某些 Linux 发行版保证在已知时间段内提供长期支持,包括安全错误修复,如果你使用的是其中一个发行版,并且它包含 Python 3.8,那么即使 Python 开发团队不提供,你也可以依赖该发行版来提供安全修复程序。
所以从理论上讲,你还不需要升级,但在实践中,有一些注意事项。

第一是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 版本相当向后兼容,所以你可以这么做:
  1. 升级到 3.9。
  2. 修复发现的任何错误。
  3. 升级到 3.10,修复所有错误。
  4. 重复直到 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,说明你们可能因为有其他更重要的升级或是遇到组织问题,所以一直在推迟,下一步建议应该设置一个持续的流程来定期更新版本和依赖了。
来源https://pythonspeed.com/articles/stop-using-python-3.8 

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/174605
 
228 次点击