PEP 794:导入名称元数据

PEP 794:导入名称元数据

💡 原文英文,约1600词,阅读约需6分钟。
📝

内容提要

PEP 794 提议在 Python 的核心元数据中增加一个名为 Import-Name 的字段,以记录项目安装后的导入名称,从而解决项目名称与导入名称不匹配的问题,提升工具推荐的准确性和用户体验。该字段将被添加到 pyproject.toml 的 [project] 表中,核心元数据版本更新至 2.5。

🎯

关键要点

  • PEP 794 提议在 Python 的核心元数据中增加 Import-Name 字段,以记录项目安装后的导入名称。

  • 该字段将解决项目名称与导入名称不匹配的问题,提升工具推荐的准确性和用户体验。

  • Import-Name 字段将被添加到 pyproject.toml 的 [project] 表中,核心元数据版本更新至 2.5。

  • 目前 Python 打包中没有要求项目名称与可导入名称匹配,导致工具无法准确推荐项目。

  • 此提议将允许项目所有者指定项目提供的最高级别导入名称,确保信息准确。

  • Import-Name 字段为可重复使用字段,必须与项目提供的所有 sdists 和 wheels 一致。

  • 项目所有者应提供准确的信息,并且不应过滤掉他们认为是私有的名称。

  • 工具在使用这些元数据时应将其视为潜在不准确,做出决策时需谨慎。

  • 项目所有者应被教育如何记录其项目提供的命名空间,用户不必了解这些新元数据的细节。

  • PEP 794 还拒绝了其他方案,如重新利用已弃用的 Provides 字段。

🔎

延伸解读

Import-Name 字段的重要性

PEP 794 提出的 Import-Name 字段将显著改善 Python 包管理的准确性。通过明确项目的导入名称,开发者和工具能够更轻松地识别和推荐合适的项目,减少因名称不匹配而导致的困惑。这一变化将提升用户体验,尤其是在使用代码编辑器时,能够更准确地满足导入需求。

项目所有者的责任

项目所有者在提供 Import-Name 信息时需确保准确性和完整性。即使是他们认为私有的名称,也应当记录在案,以避免潜在的命名空间冲突。此举不仅有助于工具的推荐准确性,也能防止用户在使用过程中遇到问题。

工具使用时的谨慎

尽管 Import-Name 字段旨在提供准确的导入信息,但工具在使用这些元数据时仍需保持谨慎。由于信息可能存在不准确的风险,开发者在基于这些数据做出决策时,应考虑到潜在的恶意行为和误导性信息。

延伸问答

PEP 794 的主要目的是什么?

PEP 794 的主要目的是在 Python 的核心元数据中增加一个 Import-Name 字段,以记录项目安装后的导入名称,从而解决项目名称与导入名称不匹配的问题。

Import-Name 字段将如何影响 Python 包的使用?

Import-Name 字段将提升工具推荐的准确性,帮助用户更容易找到与导入名称匹配的项目,从而改善用户体验。

项目所有者在提供 Import-Name 信息时需要注意什么?

项目所有者必须提供准确的信息,并且不应过滤掉他们认为是私有的名称,以确保信息的完整性和准确性。

PEP 794 如何解决当前 Python 打包中的问题?

PEP 794 通过引入 Import-Name 字段,允许项目所有者明确指定项目的导入名称,从而解决项目名称与可导入名称不匹配的问题。

Import-Name 字段的格式是什么?

Import-Name 字段是一个可重复使用的字段,包含项目提供的可导入名称,必须与项目提供的所有 sdists 和 wheels 一致。

PEP 794 拒绝了哪些其他方案?

PEP 794 拒绝了重新利用已弃用的 Provides 字段等其他方案,因为这些方案无法准确提供项目的导入名称信息。

🏷️

标签

➡️

继续阅读