如何让Sphinx autosummary显示实例属性的文档?

时间:2015-04-27 17:40:12

标签: python documentation python-sphinx

所有其他类型(类,属性,方法等)都可以正常工作,但当autosummary获取实例属性时,它会引发" WARNING: failed to import AClass.a"错误。奇怪的是,该表是使用以下autodoc代码文档的链接绘制的,但doc summary列为空。

有没有人有这个工作,或有任何想法可能有什么问题?

显示包含链接但没有文档的表格: enter image description here

显示autodoc正在运行(如果没有它,上面的链接就不可能): enter image description here

我还尝试过其他形式的文档,例如#: ...样式等。所有相同的结果。同样,同一模块中的其他所有工作都可以。我确实在autosummary表中看到了方法等的文档。

示例类:

class AClass(object):
    def __init__(self):
        self.a = 10
        """
        An example instance attribute

        :type: int
        """

示例ReST:

.. autosummary::

    AClass.a

我正在使用Sphinx 1.2.3

1 个答案:

答案 0 :(得分:2)

不幸的是,autosummary根本不支持这一点。重要的代码位于sphinx.ext.autosummary.__init__.AutoSummary.get_items,基本上是:

for name in names:

    # <snip>

    try:
        real_name, obj, parent, modname = import_by_name(name, prefixes=prefixes)
    except ImportError:
        self.warn('failed to import %s' % name)
        items.append((name, '', '', name))
        continue

name是您想要摘要的autosummary指令下的内容,因此在您的情况下是"AClass.a"。但是,由于实例属性不可导入,并且import_by_name尝试导入名称,因此失败。我不知道为什么实施者这样做,但我们去了。

如果你有时间和倾向,应该可以解决这个问题!我已打开an issue来跟踪它。