【发布时间】:2013-01-05 18:12:11
【问题描述】:
我刚刚发现 pypi Web UI 在编辑 Egg 元数据时有一个“Bug tracker URL”字段。
这个字段存在,所以我猜它在 setup.py 中受支持,但我无法使用谷歌找到任何关于此的信息。
所以问题是如何在 setup.py 中设置此字段,以便在 pypi 上进行 dist 发布时可以自动填充。
【问题讨论】:
我刚刚发现 pypi Web UI 在编辑 Egg 元数据时有一个“Bug tracker URL”字段。
这个字段存在,所以我猜它在 setup.py 中受支持,但我无法使用谷歌找到任何关于此的信息。
所以问题是如何在 setup.py 中设置此字段,以便在 pypi 上进行 dist 发布时可以自动填充。
【问题讨论】:
条目名为bugtrack_url,但不是从setup.py 获取的。
来自context 和code 我了解它仅用于在 PyPI 上通过网络使用,作为每个项目的元数据,而不是通常的每个发布信息。
该字段现在被视为legacy field(硬编码为None),您可以通过Project-URL list 添加此类信息,您可以通过project_urls entry 在setuptools 中设置这些信息:
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',
},
此选项为 finally added to setuptools in November 2017,并在版本 38.3.0 中登陆。
【讨论】:
在 setup.py 中使用 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',
},
...
)
字典顺序被保留,但列在reversed on PyPi:
bugtracker_url 遗留代码bugtrack_url:IIRC 它是 PyPI 维护者添加的东西来帮助项目,但同时 PEP 345 引入了 Project-URL,旨在涵盖源代码存储库、错误跟踪器、邮件列表等。如果 PEP 426 或其中之一它的伙伴保留 Project-URL(并可能使用为常见站点定义的标签来改进它,例如“存储库”),那么这种特殊情况就变得多余了。
和
目前,这似乎在他们的 API 中被硬编码为 None。我猜他们在迁移时离开了这个领域是为了向后兼容......
【讨论】: