如何在 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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Matlab 中设置 ode 函数 [关闭]

使用 python setup.py install 时出现“错误:‘remap’不是‘cv’的成员”

如何通过 Google Tag Manager 在 Intercom 中设置事件跟踪

在python中设置openCV跟踪API的参数

如何在 Switch/SwitchCompat 按钮中设置宽度和跟踪文本并实现此结果? (附图片和GIF)

如何在 DataGrip 中设置服务器输出