首页 > 解决方案 > Sphinx meth 角色不创建链接

问题描述

在 python 模块中,在模块的文档字符串中,我有以下内容:

:meth:`my_method`

我在当前模块中有以下课程:

class GameP:

    ...

    def my_method(self):
        return f"{self._name} {self.selected}"

Sphinx 不会为此创建链接,而在 Sphinx 文档中,我们有:

通常,首先搜索这些角色中的名称而不进行任何进一步的限定,然后在前面加上当前模块名称,然后在前面加上当前模块和类名(如果有的话)。如果您在名称前加上一个点,则此顺序会颠倒。例如,在 Python 的 codecs127 模块的文档中,:py:func:open总是指内置函数,而:py:func:.open指的是 codecs.open()。

为什么粗体部分不适合我?:meth:角色没有为我建立链接。

标签: pythonpython-sphinxdocstringcross-reference

解决方案


恕我直言,文档不是很清楚,但如果您使用:meth:`.my_method` (带点)它就可以工作。圆点使 Sphinx 可以在任何地方寻找匹配my_method项。

如果交叉引用在类的文档字符串中,则不需要点GameP。但在这种情况下,交叉引用在模块文档字符串中,并且在模块级别上没有“当前类名”。


推荐阅读