如何在 setup.py 脚本中设置错误跟踪器 url
Posted
技术标签:
【中文标题】如何在 setup.py 脚本中设置错误跟踪器 url【英文标题】:how to set bug tracker url in setup.py script 【发布时间】:2013-01-05 18:12:11 【问题描述】:我刚刚发现 pypi Web UI 在编辑 Egg 元数据时有一个“Bug tracker URL”字段。
这个字段存在,所以我猜它在 setup.py 中受支持,但我无法使用谷歌找到任何关于此的信息。
所以问题是如何在 setup.py 中设置此字段,以便在 pypi 上进行 dist 发布时可以自动填充。
【问题讨论】:
【参考方案1】:条目名为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 中登陆。
【讨论】:
【参考方案2】:PyPi 项目上的错误跟踪器 URL
在 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:
关于 PyPi bugtracker_url
遗留代码
pypa/warehouse Issue #233
bugtrack_url:IIRC 它是 PyPI 维护者添加的东西来帮助项目,但同时 PEP 345 引入了 Project-URL,旨在涵盖源代码存储库、错误跟踪器、邮件列表等。如果 PEP 426 或其中之一它的伙伴保留 Project-URL(并可能使用为常见站点定义的标签来改进它,例如“存储库”),那么这种特殊情况就变得多余了。
和
目前,这似乎在他们的 API 中被硬编码为 None。我猜他们在迁移时离开了这个领域是为了向后兼容......
【讨论】:
保持字典顺序不是 Python 中给出的:youtube.com/watch?v=p33CVV29OG8 - 它从 ca. 3.6版以上是关于如何在 setup.py 脚本中设置错误跟踪器 url的主要内容,如果未能解决你的问题,请参考以下文章
使用 python setup.py install 时出现“错误:‘remap’不是‘cv’的成员”
如何通过 Google Tag Manager 在 Intercom 中设置事件跟踪