我如何在Sphinx的项目中引用其他文件中的类和方法?
问题描述:
我正在尝试编写链接到我的包的其他部分的一些类和方法的Sphinx文档字符串,但无法弄清楚如何构建这些链接或让它们在我需要时显示。我如何在Sphinx的项目中引用其他文件中的类和方法?
我
# a.py
from .b import *
class A(object):
def func_one():
"""Does stuff using `func_two` from `B`."""
some_b = B ...
some_b.func_two()
# ...
和
# b.py
class B(object):
def func_two():
# ...
在我的包被组织
my_package/
a.py
b.py
,我想狮身人面像文档为A.func_one
显示为
是否使用
func_two
来自B
。
并包含指向func_two
和B
的链接。
我已经尝试了方法和类的全名的各种组合,但似乎没有工作。我该如何做到这一点?
答
要创建对Python对象的交叉引用,请使用Python域提供的角色(:class:
,:meth:
等)。见http://sphinx-doc.org/domains.html#cross-referencing-python-objects。
例子:
:py:meth:`mymodule.MyClass.mymethod`
要获得链接文本是只有目标的最后一部分,使用~
(波浪号)前缀。请参阅http://sphinx-doc.org/domains.html#cross-referencing-syntax。
例子:
:py:meth:`~mymodule.MyClass.mymethod`
这是否帮助? http://stackoverflow.com/a/22714510/407651 – mzjn
是的,我甚至可以执行'.b.func_two'而不是'my_package.b.func_two'来获得工作链接。但我仍然在文档中看到“b.func_two”,而我正在拍摄“func_two”。 – orome