Python 3:Sphinx没有正确显示类型提示

时间:2016-10-16 14:45:04

标签: python-sphinx python-3.5

我通过使用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类型的提示?

2 个答案:

答案 0 :(得分:9)

我使用sphinx-autodoc-typehints extension自行解决了这个问题。

答案 1 :(得分:7)

autodoc_typehints 变量。从 3.0 版开始,您可以将其设置为 'description',它将类型提示显示为函数或方法的内容,并将它们从签名中删除。

因此只需将此行添加到您的 conf.py 中:

autodoc_typehints = "description"