当使用带有 google docstrings 的 Napoleon(我没有测试过 numpy,但我怀疑有类似的问题)并将napoleon_use_ivar
选项设置为 时True
,它会创建指向实例变量名称的链接。这些名称显然很常见(例如“名称”),并且将它们链接到一些随机定义没有帮助 - 有什么方法可以禁用它吗?
给定以下文档字符串:
"""
Attributes:
name (str): Friendly name
"""
它将尝试name
在 html 输出中进行交叉引用。考虑到目标的模糊性,它抱怨这一点:
/home/nbastin/geni-lib/geni/rspec/pgad.py:docstring of geni.rspec.pgad.AdInterface:None: WARNING: more than one target found for cross-reference u'name': geni.rspec.igext.AddressPool.name, geni.rspec.vtsmanifest.GREPort.name, geni.rspec.vtsmanifest.InternalPort.name, geni.rspec.pg.
Node.name, geni.rspec.vtsmanifest.PGLocalPort.name, geni.rspec.pg.Interface.name, geni.rspec.vtsmanifest.GenericPort.name, geni.rspec.vtsmanifest.ManifestContainer.name, geni.urn.GENI.name, geni.rspec.vtsmanifest.InternalContainerPort.name
但是,它仍然会在 HTML 输出中创建一个链接——如果您单击该name
属性,它会愉快地将您发送到一些与当前属性无关的随机符号。有没有办法禁用这种行为?
如果napoleon_use_ivar
设置为False
这不会发生,但属性输出一点也不紧凑,而且很难阅读。
这不是拿破仑特有的 - 如果您手动指定属性,ivar
它还会以您无法控制的方式交叉引用它们:
:ivar name: Friendly name
:vartype name: str
那仍然有一个链接name
。