Python 是否在Sphinx文档中显示*仅*文档字符串?

Python 是否在Sphinx文档中显示*仅*文档字符串?,python,python-sphinx,autodoc,Python,Python Sphinx,Autodoc,Sphinx有一个名为automethod的功能,它从方法的docstring中提取文档并将其嵌入到文档中。但它不仅嵌入了docstring,还嵌入了方法签名(name+参数)。如何仅嵌入docstring(不包括方法签名) 参考:我想你要找的是: from sphinx.ext import autodoc class DocsonlyMethodDocumenter(autodoc.MethodDocumenter): def format_args(self): return

Sphinx有一个名为
automethod
的功能,它从方法的docstring中提取文档并将其嵌入到文档中。但它不仅嵌入了docstring,还嵌入了方法签名(name+参数)。如何仅嵌入docstring(不包括方法签名)


参考:我想你要找的是:

from sphinx.ext import autodoc

class DocsonlyMethodDocumenter(autodoc.MethodDocumenter):
  def format_args(self):
    return None

autodoc.add_documenter(DocsonlyMethodDocumenter)
根据这一点,应该允许重写负责记录方法的类(较旧版本的
add\u documenter
禁止此类重写,但现在它们被明确允许)。当然,让
format_args
返回None是
autodoc
中的一种文档化方式,表示“不要为签名费心”


我认为这是执行这项任务的干净的、有体系结构的方法,因此,比monkeypatching更可取。如果您需要使用一些旧版本的
sphinx
,那么您可能确实需要使用monkeypatch(
autodoc.MethodDocumenter.format\u args=lambda\u:None
--eek!)尽管我建议将sphinx升级到当前版本,如果在您的具体部署中可行的话,这是一种更好的方法。

+1在sphinx 1.1中,添加文档管理器有一个小的语法更改