1

当使用带有 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

4

0 回答 0