Python 考虑更改版本编号,使用“日历”方式
尽管普遍认为 Python 使用行业标准语义版本控制,但这导致了关于向后兼容性和生命周期预期的挫败感。
译自Python Mulls a Change in Version Numbering,作者 Joab Jackson。
一位 Python 核心维护者正在游说更改Python 编程语言的版本发布编号方式。
Hugo van Kemenade将担任即将发布的 Python 3.14 和 3.15 版本的发布经理,他撰写了提案 PEP 2026,即“Python 的日历版本控制”,以确定所有未来版本的编号方式。
简而言之,此提案建议 Python 版本将编号为 3.YY.micro,其中:
- 3 是主版本号 - 始终为 3。
- YY 是次要版本号 - 是短年份号:{年份} - 2000。
- micro 是微版本号 - 每次进行错误修复或安全版本发布时都会递增。
他指出,永远不会有 Python 4。“Python 3”将成为未来的品牌。
因此,Python 3.15 实际上将是 3.26,“26”代表发布年份(“2026”)。
Python 生命周期结束
van Kemenade 写道:“这旨在通过便于查看版本首次发布的时间,以及更轻松地计算其何时达到生命周期结束 (EOL) 来明确支持生命周期。”每个 Python 版本都支持五年。
自 2019 年以来,主要的Python 更新每年都会进行一次,按照Pep 603设定的发布计划进行。他写道,这种编号方式可以更好地反映节奏。
许多人认为 Python 遵循语义版本控制的行业标准。SemVer 标准规定版本号的格式为 MAJOR.MINOR.PATCH,其中 MAJOR 将是一次重大更新(可能会破坏 API 向后兼容性),MINOR 将是一个没有重大更改的版本,而 PATCH 将仅用于补丁。
由于 Python 3 的许多年度版本实际上破坏了向后兼容性,因此 Python 采用语义版本控制的这一假设导致了一些挫败感,尽管用户认为并非如此,因为所有新版本都在 3.XX 树中。但是,主版本号在第一个点之后递增,即当前版本为 3.12,今年晚些时候的下一个主版本将为 3.13。
这些版本中的任何一个都可能带来重大更改,违反 SemVer 惯例(Python 实际上比语义版本标准早了大约 15 年)。
Van Kemenade 撰写并提出了他的提案Pycon 2024 会议,该会议于上个月在匹兹堡举行。
van Kemenade 建议,Python 不应采用 SemVer,而应采用越来越常见的日历版本控制(CalVer),其中包括格里高利历年中的一些元素。
摘自 Hugo van Kemenade(Python 基金会)的演示文稿
例如,Canonical 使用日历友好的 YY.0M.micro,其中年份由 YY 表示,月份由 oM 表示,补丁版本由 micro 表示。因此,当前的 Ubuntu 版本为24.02。
未来,Python 版本将采用这种方式:
- 3.15.0 将于 2026 年发布(3.26)
- 3.16.0 将于 2027 年发布(3.27)
- 3.17.0 将于 2028 年发布(3.28)
- 3.18.0 将于 2029 年发布(3.29)
- 3.19.0 将于 2030 年发布(3.30) 依此类推…
Slashdot 上持怀疑态度的观察者指出,这种两位数方法在世纪之交会出现问题,其中两位数年份表示法会产生歧义,这使得构建系统难以自动更新到编程语言的最新版本,以及其他问题。
在 2100 年,Python v3.00 将紧随 Python v3.99 之后?
本文在云云众生(https://yylives.cc/)首发,欢迎大家访问。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
大众点评内容搜索算法优化的探索与实践
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。 1 现状与挑战 美团在本地生活服务领域深耕多年,在帮助用户完成交易的同时,积累了丰富的图文视频内容供给。依托于这些内容供给,我们可以满足用户更丰富的需求类型,从交易环节扩展到交易前的种草、交易后的体验分享环节,将大众点评建设成为本地吃喝玩乐的社区。 在大众点评的用户中,有相当高比例会通过搜索来查找本地信息,而内容搜索是辅助用户决策、促进社区氛围的重要工具。例如当用户搜索“火锅”时,除了能看到火锅相关的商户和团单,还可以看到图文、视频、评价、笔记等多种形态和类型供给呈现;搜索“圣诞节活动”时,直接以双列内容形式呈现搜索结果,可以更加生动形象。 通过持续优化内容搜索体验,可以带来更多内容消费流量,进而吸引更多的用户转化为作者,激励创作出更多的内容,而有了更多的内容之后,又可以进一步带动体验提升,最终形成一个良性循...
- 下一篇
开源日报 | 开源模型击败GPT-4 Turbo;Python考虑更改版本编号;开源大模型食用指南;你喜欢计算机/编程吗?
欢迎阅读 OSCHINA 编辑部出品的开源日报,每天更新一期。 # 2024.6.19 今日要闻 彭博社:华为与腾讯接近达成协议,不向微信“抽成” 彭博社今日报道称:华为与腾讯即将达成协议,将免除微信的收入分成 (Revenue Sharing)。 viahttps://www.bloomberg.com 据知情人士透露,经过为期数月的谈判,双方接近达成协议。华为将同意不对微信中的应用内交易收取任何费用。知情人士还表示,作为交换,腾讯将持续维护和更新微信应用。 DeepSeek Coder V2 发布,首个击败 GPT-4 Turbo 的开源模型 DeepSeek-Coder-V2 已正式上线和开源,沿用DeepSeek-V2的模型结构,总参数 236B,激活 21B,在代码、数学的多个榜单上位居全球第二,介于最强闭源模型 GPT-4o 和 GPT-4-Turbo 之间。在 API 服务方面,DeepSeek-Coder-V2 API 支持 32K 上下文,价格和 DeepSeek-V2 一致: Python 考虑更改版本编号,使用“日历”方式 一位 Python 核心维护者正在游说...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块