【发布时间】:2020-05-08 07:39:29
【问题描述】:
我正在使用 Sphinx 记录一些具有多层继承的 Python 代码。结构大致是:
class _foo(np.ndarray):
#do _foo stuff
class bar(_foo):
#do bar stuff
class baz(_foo):
#do baz stuff
使用 :inherited-members: 在我的 .rst 文件中,我从 _foo 获取文档作为 bar 和 baz 的一部分,但我也从 np.ndarray 获取所有文档,我不想要.
Sphinx 文档 (https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html) 说:
例如;如果您的类 Foo 是从列表类派生的,并且您不想记录 list.__len__(),您应该指定一个选项 :inherited-members: list 以避免列表类的特殊成员。
但我试过了:
- :继承成员:np.ndarray
- :inherited-members: ndarray
- :inherited-members: numpy.ndarray
这些都不会阻止每个类都包含整个 numpy.ndarray 文档。有谁知道是否有办法排除 numpy 文档,但保留我需要的部分?谢谢。
【问题讨论】:
-
请注意,此功能是 Sphinx 3.0 中的新功能,因此...您需要 Sphinx 3.0 才能按超类过滤
:inherited-members:。还提供一个有效的复制案例,因为我什至无法让 sphinx 3 在本地项目中将np.ndarray的文档添加到bar。
标签: python python-sphinx