我使用 docstrings 来记录 python 代码和 sphinx-autodoc 来生成 apidoc HTML。我的包的结构如下:mainpackage.subpackage.module
,我希望 apidocs 链接到模块中的类,mainpackage.subpackage.Class
而不是mainpackage.subpackage.module.Class
. 我的问题来自scikit-multilearn项目,例如:我有一个MLClassifierBase
类 in skmultilearn.base.base
,但我将它导入__init__.py
in skmultilearn.base
,我希望 sphinx 生成的 apidocs 只使用这个类,skmultilearn.base.MLClassifierBase
而不是skmultilearn.base.base.MLClassifierBase
像现在这样。有人可以帮忙吗?
我已经尝试过:
add_module_names = False
根据Sphinxconf.py
apidoc设置- 不打印包和模块的完整路径添加
""".. automodule:: base"""
到skmultilearn/base/__init__.py
添加
__all__ = ['MLClassifierBase']
到skmultilearn/base/__init__.py
添加
.. autoclass:: base.MLClassifierBase
到类文档中
我仍然有一个Bases: skmultilearn.base.base.MLClassifierBase在每个派生自MLClassifierBase
. 我该如何改变?