我正在使用docstrings来记录python代码,并使用sphinx-autodoc生成apidoc HTML。我的包结构如下:
我已经尝试过:
- 在
mainpackage.subpackage.module
,我希望apidocs将模块中的类链接为mainpackage.subpackage.Class
而不是mainpackage.subpackage.module.Class
。我的问题来自于scikit-multilearn项目,例如:我在skmultilearn.base.base
中有一个MLClassifierBase
类,但我在skmultilearn.base.__init__.py
中导入它,并且我希望由sphinx生成的apidocs仅将此类用作skmultilearn.base.MLClassifierBase
,而不是像现在这样使用skmultilearn.base.base.MLClassifierBase
。有人能帮忙吗?我已经尝试过:
- 在
conf.py
中设置add_module_names = False
,参见Sphinx apidoc - don't print full path to packages and modules
- 在skmultilearn/base/__init__.py
中添加""".. automodule:: base"""
- 在skmultilearn/base/__init__.py
中添加__all__ = ['MLClassifierBase']
- 在类文档中添加.. autoclass:: base.MLClassifierBase
但是每个从MLClassifierBase
派生的类仍然有一个Bases: skmultilearn.base.base.MLClassifierBase。我该如何更改呢?