如何使apidocs使用包而不是sphinxapid中的模块

2024-04-25 07:02:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用docstrings来记录python代码,使用sphinx autodoc生成apidochtmls。我的包的结构如下:mainpackage.subpackage.module,我希望apidocs以mainpackage.subpackage.Class的形式链接到模块中的类,而不是{}。我的问题来自于scikit-multilearn项目,例如:我在skmultilearn.base.base中有一个MLClassifierBase类,但是我将它导入到skmultilearn.base中的__init__.py中,我希望sphinx生成的apidocs只将该类用作skmultilearn.base.MLClassifierBase,而不是现在的{}。有人能帮忙吗?在

我已经试过了:

我还有一个基地:skmultilearn.base.base.MLClassifierBase在从MLClassifierBase派生的每个类中。我该怎么改?在


Tags: 代码pybaseinitsphinx记录结构autodoc
1条回答
网友
1楼 · 发布于 2024-04-25 07:02:24

我找到了一个解决方案:

"""
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而不是{}生成文档。您的__init__.py中需要将这三个元素组合在一起:

  • 任何地方都提到了:mod:的定义
  • 类的导入
  • 所有”中类的名称

相关问题 更多 >