我想__init__()在我的 sphinx 生成的文档中包含文档字符串。
我正在按照这个 stackoverflow 问题的公认答案添加处理程序,autodoc-skip-member但仍然无法看到我的__init__()文档。块内的跟踪代码if name == "__init__":显示我正在点击该代码。
凭直觉,我'sphinx.ext.napoleon'从我的extensions定义中删除,离开
extensions = [
'sphinx.ext.autodoc',
# 'sphinx.ext.napoleon',
]
然后我可以看到__init__()文档。
我在拿破仑文档中看到的唯一似乎相关的是napoleon_include_special_with_doc,它说默认为True. 将其显式设置为Trueinconf.py似乎并没有改变任何东西。
ETA:如果我添加以下方法:
def __blah__(self):
'''blah blah blah'''
print self.__class__
我__blah__()在我生成的文档中看到。
- 如果我将名称更改
__blah__为__repr__或__str__,我会在生成的文档中看到它们。 - 如果我注释掉现有的
__init__并更改__blah__为__init__我看不到它。
所以它似乎特定于__init__().
这是一个已知问题吗?在使用拿破仑时是否有另一种方法来控制它?