首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使apidocs使用软件包而不是sphinx-apidoc中的模块

如何使apidocs使用软件包而不是sphinx-apidoc中的模块
EN

Stack Overflow用户
提问于 2016-06-26 01:17:28
回答 1查看 927关注 0票数 5

我使用docstring来记录python代码,使用sphinx-autodoc来生成apidoc HTML。我的包的结构如下:mainpackage.subpackage.module,我希望apidocs链接到mainpackage.subpackage.Class模块中的类,而不是mainpackage.subpackage.module.Class。例如,我的问题来自于scikit多重学习项目:我在skmultilearn.base.base中有一个MLClassifierBase类,但是我在skmultilearn.base中的__init__.py中导入它,我希望斯芬克斯生成的apidocs只使用这个类作为skmultilearn.base.MLClassifierBase,而不是像现在这样使用skmultilearn.base.base.MLClassifierBase。有人能帮忙吗?

我已经试过了

  • 在每个add_module_names = False中设置conf.py中的Sphinx apidoc -不要打印到包和模块的完整路径
  • """.. automodule:: base"""添加到skmultilearn/base/__init__.py
  • __all__ = ['MLClassifierBase']添加到skmultilearn/base/__init__.py
  • .. autoclass:: base.MLClassifierBase添加到类文档中

我仍然有一个基:从MLClassifierBase派生的每个类中都有MLClassifierBase。我该怎么改变这个?

EN

回答 1

Stack Overflow用户

发布于 2017-02-14 14:32:26

我找到了一个解决办法:

代码语言:javascript
复制
"""
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生成文档。您需要在您的__init__.py中将这三个元素组合在一起

  • 任何地方提到的:mod:的定义
  • 阶级的进口
  • `all中的类名
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38034409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档