如何让 Sphinx 在参数描述旁边而不是在函数签名上显示 Python 3 键入类型提示?

问题描述 投票:0回答:2

我正在使用 Sphinx(制作 HTML)从其函数的 reStructuredText 文档字符串自动生成 Python 3 模块的 HTML 文档。到目前为止,生成的 HTML 文档看起来不错,但是函数签名的参数类型(在源代码中作为“PEP484 类型提示”给出)未正确显示。 例如这是我的函数之一的 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 类型提示?

python-sphinx python-3.5
2个回答
21
投票

autodoc_typehints

变量。从版本 3.0 开始,您可以将其设置为 
'description',它将类型提示显示为函数或方法的内容,并将其从签名中删除。
所以只需将此行添加到您的

conf.py

autodoc_typehints = "description"



20
投票
sphinx-autodoc-typehints 扩展自行解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.