Python 如何使apidoc在sphinx apidoc中使用包而不是模块
我使用docstrings记录python代码,使用sphinx autodoc生成apidoc HTML。我的包的结构如下:Python 如何使apidoc在sphinx apidoc中使用包而不是模块,python,python-sphinx,autodoc,api-doc,Python,Python Sphinx,Autodoc,Api Doc,我使用docstrings记录python代码,使用sphinx autodoc生成apidoc HTML。我的包的结构如下:mainpackage.subpackage.module,我希望apidocs以mainpackage.subpackage.Class的形式链接到模块中的类,而不是mainpackage.subpackage.module.Class。我的问题来自项目,例如:我在skmultilearn.base.base中有一个MLClassifierBase类,但我正在skmul
mainpackage.subpackage.module
,我希望apidocs以mainpackage.subpackage.Class
的形式链接到模块中的类,而不是mainpackage.subpackage.module.Class
。我的问题来自项目,例如:我在skmultilearn.base.base
中有一个MLClassifierBase
类,但我正在skmultilearn.base
中导入它,我希望sphinx生成的apidocs只将这个类用作skmultilearn.base.MLClassifierBase
,而不是像现在这样skmultilearn.base.base.MLClassifierBase
。有人能帮忙吗
我已经试过了:
- 在
per中设置conf.py
add\u module\u names=False
- 添加了
到”.automodule::base“”
skmultilearn/base/\uuu init\uuuu.py
- 在
skmultilearn/base/\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
- 添加了
到类文档。。自动类::base.MLClassifierBase
在从
MLClassifierBase
派生的每个类中,我仍然有一个base:skmultilearn.base.base.MLClassifierBase.MLClassifierBase。如何更改此设置?我找到了一个解决方案:
"""
The :mod:`skmultilearn.base` module implements base
classifier classes for scikit-multilearn's multi-label classification.
"""
from .base import MLClassifierBase
from .problem_transformation import ProblemTransformationBase
__all__ = ["MLClassifierBase",
"ProblemTransformationBase"]
它为base.ProblemTransformationBase
而不是base.base.ProblemTransformationBase
生成文档。您需要在\uuu init\uuuu.py
中将这三个元素放在一起:
的定义随处可见:mod:
- 类的导入
- “all”中类的名称``