如何在setup.py脚本中设置错误跟踪器网址
我刚发现,在pypi网站的用户界面中,有一个叫“Bug跟踪网址”的字段,可以在编辑包的元数据时看到。
这个字段是存在的,所以我猜在setup.py文件中是可以支持的,但我用谷歌搜索却找不到相关的信息。
所以我的问题是,如何在我的setup.py文件中设置这个字段,这样在发布到pypi时,它可以自动填充这个信息。
2 个回答
6
在PyPi项目中设置Bug跟踪器的链接
在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',
},
...
)
字典的顺序是保持的,但在PyPi上显示时是 反向的:
关于PyPi中的 bugtracker_url
旧代码
bugtrack_url:如果我没记错的话,这是PyPI的维护者为了帮助项目而添加的,但同时PEP 345引入了Project-URL,目的是覆盖源代码库、bug跟踪器、邮件列表等。如果PEP 426或其相关标准保留了Project-URL(并可能通过定义常见网站的标签来改进它,比如“repository”),那么这个特殊情况就显得多余了。
而且
目前看起来,这个字段在他们的API中是硬编码为None。我猜他们在迁移时保留了这个字段以保持向后兼容……
21
这个条目叫做 bugtrack_url
,但是它没有从 setup.py
文件中被读取到。
根据一些背景信息和代码,我了解到这个条目原本是打算在 PyPI 网站上使用的,作为每个项目的元数据,而不是通常的每个版本的信息。
现在这个字段被认为是一个 遗留字段(固定为 None
),你应该通过 项目网址列表 来添加这样的信息,这个列表可以通过 setuptools
中的 project_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',
},
这个选项在2017年11月 终于被添加到 setuptools
中,并在版本 38.3.0 中上线。