社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
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
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
【2025版附安装包】超详细Python+Pycharm安装保姆级教程,永久免费使用,Python环...
老公和ChatGPT聊出精神病,她光速离婚
2025 Q1 AI 产品流量报告:国外 ChatGPT 霸榜,国内教育 AI 破局
AI「自我复制」能力曝光!RepliBench警示:大模型正在学会伪造身份;o3一张图锁定地球表面坐...
张伯礼等6大院士共识,中医药+AI,大有可为!浙江中医药大学“网络药理学+机器学习+分子对接”,堪称...
复旦大学提出GenPTW!AIGC水印技术新标杆!
【[441星]git-sync:一个简单易用的Git仓库备份与同-20250505121549
6年年化收益46%,最大回撤率为16%的策略(附python代码)
【Python】拿来即用!9 个科研论文配图完整代码
【[824星]DockerComposeMaker (DCM):-20250505120521
关注
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 版本相当向后兼容,所以你可以这么做:
升级到 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,说明你们可能因为有其他更重要的升级或是遇到组织问题,所以一直在推迟,下一步建议应该设置一个持续的流程来定期更新版本和依赖了。
来源
:
https://pythonspeed.com/articles/stop-using-python-3.8
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/174605
228 次点击
登录后回复