setuptools.setup 对所有元数据关键字有何作用?

What does setuptools.setup do with all the metadata keywords?

关于我的项目,我想分发它,所以我正在阅读 docs to better familiarize myself with all the information. Eventually I found myself looking at distutils.core.setup 以及与之相关的所有关键字,这让我想知道:

What are the keywords used for, where do they go and why do we need them?

在某个临时脚手架项目 运行 sdist 之后,我注意到 PKG-INFO 出现了其中的一些元数据。但那是我在 运行 命令后唯一能找到它们的地方。有 upload 命令(或者我可以使用 twine)将源代码分发到 PyPI 上,所以我想这可能是一种用于传递信息的约定,然后将这些信息解析并加载到 PyPI 网页上分配?

so I suppose maybe its a convention used to pass information that is then parsed and loaded onto the PyPI web page for the distribution?

你完全正确。这些关键字中的大多数代表定义所有 Python 软件包分发的各种 core metadata 字段。

这些数据的路径大致是这样的:

  • 您为setup函数指定关键字;
  • 这会在构建分发时写入 PKG-INFO 文件;
  • 上传时,twinePKG-INFO 读取以确定有关您的分发的所有元数据;
  • twine 将此元数据与您的 .zip.tar.gz.whl 文件一起上传
  • PyPI 将此元数据存储在您项目的数据库中。