slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Python 发布新的标准包锁文件格式
17611538698
webmaster@21cto.com

Python 发布新的标准包锁文件格式

编程语言 1 241 2周前
图片

导读:Python发布了新的标准包锁文件格式,遵守PEP 751标准。

Python 团队正在开始采用 PEP 751,它指定了应用程序包之间的依赖关系,从此无需动态依赖关系解析即可实现可重复的安装。

Python 核心开发人员 Paul Moore 这样表示说:

“这是完全的、彻底的最终接受,而并非临时的”,他还希望避免在新标准实施和使用之前出现延迟。话虽如此,并非所有现有的包管理器都可以取代其现有的本地锁定文件格式。新标准将使用.toml,它已经受到包括 Python 在内的编程语言的广泛支持,它的一个好处是特别容易阅读。 

微软首席软件工程师 Brett Cannon 也是核心Python的开发人员,他是 2021 年提出PEP 665 的人之一。Python 应用程序依赖于模块(也称为包),这些模块通过导入系统使用。为了使应用程序安装可重现,每次安装时都必须使用这些包的相同版本。好处是包括可靠性和更高的安全性,通过指定包依赖项和版本来实现。 

在 PEP 665 中发现的问题是并没有标准的 Python 锁文件,而是多个工具(例如 PDM、Poetry、pip-tools 和 Pipenv)都在使用自己不同的格式,这给开发者和托管服务提供商带来了很大的复杂性。

PEP 665 提案于 2022 年初被拒绝,根据核心开发人员 Paul Moore 的拒绝信息说,其原因是社区希望“更好地了解我们真正想要什么” 。

一个关键问题是 Python wheel(二进制包)与 sdist(源分发)之间存在区别,后者可在没有 wheel 时使用。如果使用 sdist,则很难保证可重复性。PEP 665 根本不支持 sdist,所以 Poetry 团队表示无法支持它。

2024 年 7 月,Cannon 提出了PEP 751,其中特别提到了 sdist,并为用户提供了选择加入或退出使用的选项。2025 年 1 月,Python社区对 PEP 751 的修订进行了广泛讨论,社区试图找到一种可以被 Poetry、PDM 和 uv(用 Rust 编写的包管理器)等工具都能采用的解决方案。

关于这方面的消息,开发者们也都议论纷纷。“所有工具作者都表示他们可以并且会将 PEP 实现为导出格式,”Cannon 说,但这并不意味着他们会将其作为唯一的锁定文件格式。uv 的创建者 Charlie Marsh表示说, “今天,PEP 751 风格的 pylock.toml 文件不足以取代 uv.lock”,但会添加对导出的支持。

当已有广泛使用的竞争标准时,标准化就比较困难。Python 社区坚信官方标准的价值,但要让所有打包工具都在内部使用它仍然是一个挑战,而且需要进一步的修订。

各位同学怎么看?欢迎转发、留言~


作者:洛逸

评论