首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Sphinx autosummary显示实例属性的文档?

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

Stack Overflow用户
提问于 2015-04-28 01:40:12
回答 1查看 1K关注 0票数 6

所有其他类型(类、属性、方法等)都可以正常工作,但当自动摘要获得实例属性时,它会引发"WARNING: failed to import AClass.a“错误。奇怪的是,表格绘制时带有指向下面autodoc代码文档的链接,但文档摘要列是空的。

有没有人知道这是怎么回事,或者知道哪里出了问题?

显示有链接但没有文档的表:

显示autodoc正在工作(没有它上面的链接是不可能的):

我还尝试了其他形式的文档,比如#: ...样式等,结果都是一样的。同样,同一模块中的所有其他内容都可以正常工作。我确实在方法等的自动汇总表中看到了文档。

示例类:

代码语言:javascript
复制
class AClass(object):
    def __init__(self):
        self.a = 10
        """
        An example instance attribute

        :type: int
        """

示例ReST:

代码语言:javascript
复制
.. autosummary::

    AClass.a

我使用的是Sphinx 1.2.3

EN

回答 1

Stack Overflow用户

发布于 2016-12-17 20:03:43

不幸的是,autosummary根本不支持这一点。重要的一小段代码是在sphinx.ext.autosummary.__init__.AutoSummary.get_items中的,它本质上是:

代码语言:javascript
复制
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

nameautosummary指令下您想要对其进行汇总的对象,因此在本例中是"AClass.a"。但是,由于实例属性不可导入,并且import_by_name尝试导入名称,因此此操作将失败。我不知道实现者为什么要这样做,但就这样吧。

不过,如果你有时间和兴趣,应该可以解决这个问题!我已经打开了an issue来追踪它。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29902483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档