sphinx autodoc-skip-member 处理程序:使用拿破仑时无法显示 __init__()
sphinx autodoc-skip-member handler: can't show __init__() when using napoleon
我想在我的 sphinx 生成的文档中包含 __init__()
的文档字符串。
我正在关注 the accepted answer to this Whosebug question 为 autodoc-skip-member
添加处理程序,但仍然无法看到我的 __init__()
文档。 if name == "__init__":
块中的跟踪代码显示我正在点击该代码。
凭直觉我从我的 extensions
定义中删除了 'sphinx.ext.napoleon'
,留下
extensions = [
'sphinx.ext.autodoc',
# 'sphinx.ext.napoleon',
]
然后我可以看到 __init__()
文档。
我在 the napoleon documentation 中看到的唯一似乎相关的是 napoleon_include_special_with_doc
,它说默认为 True
。在 conf.py
中将其明确设置为 True
似乎没有任何改变。
ETA:如果我添加以下方法:
def __blah__(self):
'''blah blah blah'''
print self.__class__
我在生成的文档中看到 __blah__()
。
- 如果我将
__blah__
的名称更改为 __repr__
或 __str__
,
我在生成的文档中看到了它们。
- 如果我注释掉现有的
__init__
并更改
__blah__
到 __init__
我没看到。
所以它似乎特定于 __init__()
。
这是一个已知问题吗,使用拿破仑时是否有另一种方法来控制它?
Napoleon 遵从您的 autodoc 配置,以了解您希望如何处理 __init__
方法。
检查 conf.py
中的自动文档设置。特别是,确保 autoclass_content 设置为 init
或 both
.
根据 Rob 在 https://github.com/sphinx-doc/sphinx/issues/2374 的后续文章,如果您使用的任何扩展程序还为 "autodoc-skip-member" 事件设置了处理程序,则只会使用其中一个处理程序。这似乎是手头的问题。谢谢罗布!
我想在我的 sphinx 生成的文档中包含 __init__()
的文档字符串。
我正在关注 the accepted answer to this Whosebug question 为 autodoc-skip-member
添加处理程序,但仍然无法看到我的 __init__()
文档。 if name == "__init__":
块中的跟踪代码显示我正在点击该代码。
凭直觉我从我的 extensions
定义中删除了 'sphinx.ext.napoleon'
,留下
extensions = [
'sphinx.ext.autodoc',
# 'sphinx.ext.napoleon',
]
然后我可以看到 __init__()
文档。
我在 the napoleon documentation 中看到的唯一似乎相关的是 napoleon_include_special_with_doc
,它说默认为 True
。在 conf.py
中将其明确设置为 True
似乎没有任何改变。
ETA:如果我添加以下方法:
def __blah__(self):
'''blah blah blah'''
print self.__class__
我在生成的文档中看到 __blah__()
。
- 如果我将
__blah__
的名称更改为__repr__
或__str__
, 我在生成的文档中看到了它们。 - 如果我注释掉现有的
__init__
并更改__blah__
到__init__
我没看到。
所以它似乎特定于 __init__()
。
这是一个已知问题吗,使用拿破仑时是否有另一种方法来控制它?
Napoleon 遵从您的 autodoc 配置,以了解您希望如何处理 __init__
方法。
检查 conf.py
中的自动文档设置。特别是,确保 autoclass_content 设置为 init
或 both
.
根据 Rob 在 https://github.com/sphinx-doc/sphinx/issues/2374 的后续文章,如果您使用的任何扩展程序还为 "autodoc-skip-member" 事件设置了处理程序,则只会使用其中一个处理程序。这似乎是手头的问题。谢谢罗布!