25

我刚刚发现 pypi Web UI 在编辑 egg 元数据时有一个“Bug tracker URL”字段。

该字段存在,所以我猜它在 setup.py 中受支持,但我无法使用谷歌找到任何关于此的内容。

所以问题是如何在我的 setup.py 中设置此字段,以便在 pypi 上进行 dist 发布时可以自动填充它。

4

2 回答 2

18

该条目被调用bugtrack_url,但它不是从 中提取的setup.py

上下文代码来看,我理解它的目的是仅在 PyPI 上通过网络使用,作为每个项目的元数据,而不是通常的每个发布信息。

该字段现在被视为旧字段(硬编码为),您可以通过Project-URL 列表None添加此类信息,您可以通过以下条目进行设置:setuptoolsproject_urls

    project_urls={
        'Documentation': 'https://packaging.python.org/tutorials/distributing-packages/',
        'Funding': 'https://donate.pypi.org',
        'Say Thanks!': 'http://saythanks.io/to/example',
        'Source': 'https://github.com/pypa/sampleproject/',
        'Tracker': 'https://github.com/pypa/sampleproject/issues',
    },

此选项最终setuptools于 2017 年 11 月添加到38.3.0 版本中。

于 2013-01-22T13:55:46.057 回答
5

PyPi 项目上的错误跟踪器 URL

在 setup.py在 setup 中使用project_urls :

setup(
...
    project_urls={
        'Documentation': 'https://readthedocs.io/',
        'Funding': 'https://donate.pypi.org',
        'Say Thanks!': 'http://saythanks.io/to/example',
        'Source': 'https://github.com/pypa/sampleproject/',
        'Tracker': 'https://github.com/pypa/sampleproject/issues',
    },
...
)

字典顺序被保留,但在 PyPi 上以相反的顺序列出:

在此处输入图像描述

关于 PyPibugtracker_url遗留代码

pypa/仓库问题 #233

bugtrack_url:IIRC 它是 PyPI 维护者添加的东西来帮助项目,但同时 PEP 345 引入了 Project-URL,旨在涵盖源代码存储库、错误跟踪器、邮件列表等。如果 PEP 426 或其伴侣之一保留Project-URL(并且可能使用为常见站点定义的标签来改进它,例如“存储库”),那么这种特殊情况就变得多余了。

目前,看起来这在他们的 API 中被硬编码为 None 。我猜他们在迁移时离开了这个领域是为了向后兼容......

于 2019-05-21T17:44:40.890 回答