所有其他类型(类,属性,方法等)都可以正常工作,但当autosummary获取实例属性时,它会引发" WARNING: failed to import AClass.a
"错误。奇怪的是,该表是使用以下autodoc代码文档的链接绘制的,但doc summary列为空。
有没有人有这个工作,或有任何想法可能有什么问题?
显示包含链接但没有文档的表格:
显示autodoc正在运行(如果没有它,上面的链接就不可能):
我还尝试过其他形式的文档,例如#: ...
样式等。所有相同的结果。同样,同一模块中的其他所有工作都可以。我确实在autosummary表中看到了方法等的文档。
示例类:
class AClass(object):
def __init__(self):
self.a = 10
"""
An example instance attribute
:type: int
"""
示例ReST:
.. autosummary::
AClass.a
我正在使用Sphinx 1.2.3
答案 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来跟踪它。