Sphinx具有称为automethod
的功能,该功能可从方法的文档字符串中提取文档并将其嵌入到文档中。但它不仅嵌入了文档字符串,而且还嵌入了方法签名(名称和参数)。如何嵌入only文档字符串(不包括方法签名)?
ref:http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html
我认为您正在寻找的是:
from sphinx.ext import autodoc
class DocsonlyMethodDocumenter(autodoc.MethodDocumenter):
def format_args(self):
return None
autodoc.add_documenter(DocsonlyMethodDocumenter)
每个the current sources,这应该允许覆盖负责记录方法的类(较旧的add_documenter
版本禁止此类覆盖,但现在明确允许使用这些覆盖)。 format_args
中记录的方式当然是让autodoc
返回None:“不要打扰签名”。
我认为这是执行此任务的干净,结构化的方法,因此,它比选择猴子补丁更可取。如果您需要使用某些旧版本的sphinx
,尽管确实可行,但我建议您将autodoc.MethodDocumenter.format_args=lambda _:None
升级到当前版本,这是一个更好的方法,尽管确实可行,但是您可能确实需要猴子补丁(sphinx
-eek!-)在您的特定部署中。