如何防止sphinx显示我班级的完整路径?

时间:2017-09-17 10:53:46

标签: python documentation python-sphinx sphinx-apidoc

我有一个像这样的项目结构:

package/
    __init__.py
    module.py

__init__.py包含:

from .module import Class

module.py包含:

class Class:
    pass

使用sphinx-apidoc -o package/docs/ package/sphinx-build package/docs/ package/docs/_buildClass的文档如下所示:

  

class package.module。 Class

     

基地:对象

我想改为输出:

  

class package。 Class

     

基地:对象

或者,更好的是,没有包名称:

  

class Class

     

基地:对象

用户不必知道在哪个文件中定义了类;如果不是混淆,这些信息完全无关紧要。由于__init__.pyClass直接导入包的命名空间,因此用户将此类导入为from package import Class,而不是from package.module import Class,我希望文档能够反映出来。

有没有办法让sphinx输出相对于包命名空间的路径?

2 个答案:

答案 0 :(得分:4)

尝试在 conf.py 中添加 add_module_names = False

答案 1 :(得分:3)

虽然添加 add_module_names = False(参考 this 答案)使 Sphinx 将 package.module.Class 呈现为 Class,但如果您想将 package.module.Class 呈现为 { {1}}(即,将类记录为 package.Class 命名空间的一部分)。

如果您希望 Sphinx 将 package 记录为 package.module.class,请在包的 package.Class 中包含以下几行(请参阅 this 答案):

__init__.py