Я создаю документацию HTML модуля Python 3 автоматически из своих докстронтов reStructuredText своих функций с помощью Sphinx (make HTML). Сгенерированная документация HTML выглядит до сих пор хорошо, но типы параметров сигнатур функций, которые указаны в исходном коде как PEP484 type hints, отображаются неправильно.Python 3: Sphinx неправильно отображает подсказки типов
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?
Ввод типов в docstring не является вариантом? ': param str имя_файла: ...' и ': rtype: list' для возвращаемого типа ... – Bakuriu
Это сделало бы его излишним, и люди в нашем проекте не будут думать об изменении типов два раза. Кроме того, похоже, что Sphinx поддерживает подсказки типа PEP484: https://github.com/sphinx-doc/sphinx/issues/1968 –