我通过使用Sphinx(make HTML)从其函数的reStructuredText文档字符串自动生成Python 3模块的HTML文档。到目前为止,生成的HTML文档看起来很好,但是源代码中给出的函数签名的参数类型PEP484 type hints未正确显示。
E.g。这是我的一个函数的Sphinx生成的HTML文档的一些示例输出:
static parse_from_file(filename: str) → list
Parses stuff from a text file.
Parameters: filename – the filepath of a textfile to be parsed
Returns: list of parsed elements
这就是我期望的样子:
static parse_from_file(filename)
Parses stuff from a text file.
Parameters: filename (str) – the filepath of a textfile to be parsed
Returns: list of parsed elements
Return type: list
这就是Python代码的实际情况:
def parse_from_file(filename: str) -> list:
"""Parses stuff from a text file.
:param filename: the filepath of a textfile to be parsed
:returns: list of parsed elements
"""
return []
如何让Sphinx正确显示Python 3类型的提示?
答案 0 :(得分:9)
我使用sphinx-autodoc-typehints extension自行解决了这个问题。
答案 1 :(得分:7)
有 autodoc_typehints
变量。从 3.0 版开始,您可以将其设置为 'description'
,它将类型提示显示为函数或方法的内容,并将它们从签名中删除。
因此只需将此行添加到您的 conf.py
中:
autodoc_typehints = "description"