所有其他类型(类、属性、方法等)都可以正常工作,但当自动摘要获得实例属性时,它会引发"WARNING: failed to import AClass.a“错误。奇怪的是,表格绘制时带有指向下面autodoc代码文档的链接,但文档摘要列是空的。
有没有人知道这是怎么回事,或者知道哪里出了问题?
显示有链接但没有文档的表:

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

我还尝试了其他形式的文档,比如#: ...样式等,结果都是一样的。同样,同一模块中的所有其他内容都可以正常工作。我确实在方法等的自动汇总表中看到了文档。
示例类:
class AClass(object):
def __init__(self):
self.a = 10
"""
An example instance attribute
:type: int
"""示例ReST:
.. autosummary::
AClass.a我使用的是Sphinx 1.2.3
发布于 2016-12-17 20:03:43
不幸的是,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))
continuename是autosummary指令下您想要对其进行汇总的对象,因此在本例中是"AClass.a"。但是,由于实例属性不可导入,并且import_by_name尝试导入名称,因此此操作将失败。我不知道实现者为什么要这样做,但就这样吧。
不过,如果你有时间和兴趣,应该可以解决这个问题!我已经打开了an issue来追踪它。
https://stackoverflow.com/questions/29902483
复制相似问题