在Sphinx中交叉引用Python对象有什么要求?
我正在使用在Sphinx中交叉引用Python对象有什么要求?,python,python-sphinx,autodoc,cross-reference,Python,Python Sphinx,Autodoc,Cross Reference,我正在使用:class:,并收到很多警告 警告:未找到py:class引用目标:mypkg.submodule.class 我在文档中找不到正确交叉引用的具体要求 这是一份不完整的需求清单,我认为有: 对象的模块需要是可导入的 对象需要存在于模块内部 需要使用:py:class:、:py:func::或类似指令在生成中的其他位置记录该对象 此指令可以由autodoc扩展生成,在这种情况下,对象需要有一个与之关联的docstring 对于要交叉引用的内容,必须首先声明它 Python域(名
:class:
,并收到很多警告
警告:未找到py:class引用目标:mypkg.submodule.class
我在文档中找不到正确交叉引用的具体要求
这是一份不完整的需求清单,我认为有:
- 对象的模块需要是可导入的
- 对象需要存在于模块内部
- 需要使用
、:py:class:
或类似指令在生成中的其他位置记录该对象:py:func::
- 此指令可以由
扩展生成,在这种情况下,对象需要有一个与之关联的docstringautodoc
- 此指令可以由
- (
)和。域:指令名称:
- (
):域:角色名称:
:class:
的情况实际上是编写角色:py:class:
的缩写语法,不要与指令声明混为一谈。。py:class::
此指令可以由autodoc扩展生成,在这种情况下,对象需要有一个与之关联的docstring
指令声明由autodoc隐式完成,但对于没有由autodoc声明的DocString的对象,必须使用
没有docstring的成员将被忽略,除非您提供undoc成员标志选项:
.. automodule:: noodle
:members:
:undoc-members:
声明对象的一个效果是将其插入索引中。因此,您可以检查索引以确保它已被声明和插入。(但是请注意,索引中没有插入这些链接。)@RobinDeSchepper默认情况下,在主页上(通常是index.html,对应于index.rst)有一个名为index的链接,Sphinx会自动为您生成和管理该链接。