Python sphinx autodoc跳过成员处理程序:can';使用napoleon时不显示_uinit

Python sphinx autodoc跳过成员处理程序:can';使用napoleon时不显示_uinit,python,python-sphinx,sphinx-napoleon,Python,Python Sphinx,Sphinx Napoleon,我想在sphinx生成的文档中包含\uuuu init\uuuu()的docstring 我正在为autodoc skip member添加处理程序,但仍然无法查看我的\uuuu init\uuuu()文档。如果name=“\uuuuu init\uuuuuu”:块中的跟踪代码显示我正在点击该代码 凭直觉,我从我的扩展定义中删除了'sphinx.ext.poleon',离开了 extensions = [ 'sphinx.ext.autodoc', # 'sphinx.ext.n

我想在sphinx生成的文档中包含
\uuuu init\uuuu()
的docstring

我正在为
autodoc skip member
添加处理程序,但仍然无法查看我的
\uuuu init\uuuu()
文档。如果name=“\uuuuu init\uuuuuu”:块中的跟踪代码显示我正在点击该代码

凭直觉,我从我的
扩展定义中删除了
'sphinx.ext.poleon'
,离开了

extensions = [
    'sphinx.ext.autodoc',
    # 'sphinx.ext.napoleon',
]
然后我可以看到
\uuuu init\uuuu()
文档

我在中看到的唯一相关内容是
poleon\u include\u special\u with\u doc
,它表示默认值为
True
。在
conf.py
中显式地将其设置为
True
,似乎不会改变任何事情

ETA:如果我添加以下方法:

def __blah__(self):
    '''blah blah blah'''
    print self.__class__
我在生成的文档中看到了
\uuu blah\uuu()

  • 如果我将
    \uuu blah\uuuu
    的名称更改为
    \uu repr\uuu
    \uu str\uu
    , 我在生成的文档中看到了它们
  • 如果我注释掉现有的
    \uuuu init\uuuu
    并更改
    \uuuu blah\uuuu
    \uuu init\uuuuu
    我看不到它
因此它似乎特定于
\uuuu init\uuuu()


这是一个已知的问题,使用napoleon时是否有其他方法来控制这一问题?

napoleon根据您的autodoc配置来决定如何处理
\uuuu init\uuu
方法


conf.py
中检查autodoc设置。特别是,确保设置为
init
两者都

Napoleon根据您的autodoc配置来处理
\uuuu init\uuu
方法


conf.py
中检查autodoc设置。特别是,根据Rob的后续操作,确保设置为
init
both

,如果您使用的扩展也为“autodoc skip member”事件设置了处理程序,则只会使用其中一个处理程序。这似乎是当前的问题。谢谢你,罗布

根据Rob的后续说明,如果您使用的扩展也为“autodoc skip member”事件设置了处理程序,则只会使用其中一个处理程序。这似乎是当前的问题。谢谢你,罗布

谢谢你的快速回复,罗伯。我很确定自动类的内容是没有区别的。我试图做的是将类文档放在类下面,然后让uuu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。autoclass_content='both'只是将uuuu init_uuuuuuu()文档添加到类文档中,而没有将uuu init_uuu()作为单独的函数调用。autoclass_content='init'使用uuuu init_uuuuuuuuuuuuuuuuuuuuuuuu()文档作为类文档的整体,并且省略了作为单独函数的uuuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuo()。感谢您的快速回复,Rob。我很确定自动类的内容是没有区别的。我试图做的是将类文档放在类下面,然后让uuu init uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。autoclass_content='both'只是将uuuu init_uuuuuuu()文档添加到类文档中,而没有将uuu init_uuu()作为单独的函数调用。autoclass_content='init'使用uuuu init_uuuuuuu()文档作为类文档的整体,并将uuu init_uuu()作为单独的函数省略。