Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:Sphinx对在包级别导入的类的引用_Python_Python Sphinx - Fatal编程技术网

Python:Sphinx对在包级别导入的类的引用

Python:Sphinx对在包级别导入的类的引用,python,python-sphinx,Python,Python Sphinx,我想使用Sphinx记录一个Python包。假设包由两个模块组成,并且具有以下结构: my_package __init__.py mod_a.py class_a_1 class_a_2 mod_a.py class_b_1 class_b_2 要使所有类在包级别对用户可用,\uuuuuu init\uuuuu.py包含以下行: from .mod_a import class_a_1, class_a_

我想使用Sphinx记录一个Python包。假设包由两个模块组成,并且具有以下结构:

my_package
    __init__.py
    mod_a.py
        class_a_1
        class_a_2
    mod_a.py
        class_b_1
        class_b_2
要使所有类在包级别对用户可用,
\uuuuuu init\uuuuu.py
包含以下行:

from .mod_a import class_a_1, class_a_2
from .mod_b import class_b_1, class_b_2
.. automodule:: my_package.mod_a
   :members:
   :undoc-members:

.. automodule:: my_package.mod_b
   :members:
   :undoc-members:
目前,我使用rst文件生成类的API文档,其中包含以下行:

from .mod_a import class_a_1, class_a_2
from .mod_b import class_b_1, class_b_2
.. automodule:: my_package.mod_a
   :members:
   :undoc-members:

.. automodule:: my_package.mod_b
   :members:
   :undoc-members:
在生成的文档中列出了这些类别,例如:

class mypackage.mod_a.class_a_1
问题1 如何让Sphinx以以下两种方式列出类:

class class_a_1
或:

除了API引用之外,我还想添加一个教程,其中包含对类及其某些方法的引用。目前,以下 rst参考文献工作:

.. currentmodule:: my_package.mod_a
:class:`class_a_1`
或:

问题2 是否有一种方法可以引用类和方法,而无需定义完整的模块结构,也无需使用
。。currentmodule::
指令?在文档中,我经常不得不在不同模块的类之间切换,并希望避免大量的
。。currentmodule::
指令。理想情况下,我希望使用以下参考方式:

这句话引用了
:class:`class\u a\u 1`
:class:`class\u b\u 1`
。或者,如果我能写
:class:`my_package.class_a_2`
:class:`my_package.class_b_2`
,那就太好了

问题3 我希望包在主命名空间中的所有类对用户来说都是平面的。有什么我可以添加到Sphinx文档文件或
\uuuu init\uuuu.py
中,以便能够用一个命令生成API文档,如

.. automodule:: my_package
   :members:
   :undoc-members:
当前,此命令生成一个空页


多谢各位

请一次提出一个具体问题。问题1可能与的重复,请一次提出一个具体问题。问题1可能与和重复