相关疑难解决方法(0)

如何在Sphinx中交叉引用autodoc生成的函数?

我正在使用Sphinx autodoc功能根据我的Python库的文档字符串生成文档.

交叉引用的语法可在此处找到

标签必须位于该部分之前,以便允许从文档的其他区域引用该部分.

我所拥有的是我的一个类的.rst(ReStructeredText)文件.它用

.. autoclass:: classname
    :members:
Run Code Online (Sandbox Code Playgroud)

为类生成文档.

我的问题是,如何从文档中的另一个.rst文档引用该类的自动生成方法?如果我尝试在方法的文档字符串中放置一个标签,Sphinx会抱怨.如果我尝试在方法标题之前放置一个标签,Sphinx就无法识别它.

有没有一种简单的方法可以做到这一点,或者我是否必须在我的类文件中明确地写入方法名称并在其前面添加标签?

这是一个示例[Python文档2中的参考实现我需要的东西(我假设它使用了autodoc功能,虽然我不确定)

python methods restructuredtext hyperlink python-sphinx

40
推荐指数
2
解决办法
1万
查看次数

如何使用 Sphinx 记录特定部分中的成员?

我正在努力弄清楚如何将 Python 类的特定成员的文档放置在 Sphinx 文档的特定部分中,理想情况下,同时在另一个部分中自动记录其余部分。

我有一个Python课程

class MyClass(object):

    def funky(self, arg):
        """Some docs."""
        ...
Run Code Online (Sandbox Code Playgroud)

定义my/module.py其中按预期工作,我可以使用以下方式记录而不会出现问题

***************************
MyModule - :mod:`my.module`
***************************

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试更好地控制文档的组织时,我无法让事情正常进行。具体来说,我希望将一些成员记录在明确的部分中(此处仅显示一个成员,但会有多个),其余成员自动记录为一组。

但是当我尝试这个时,例如

***************************
MyModule - :mod:`my.module`
***************************

To document
===========

Things that are not yet documented.

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:
   :exclude-members: funky

Funky things
------------

Some funky things.

.. automethod:: funky
Run Code Online (Sandbox Code Playgroud)

我明白了

警告:不知道要导入哪个模块来自动记录 u'funky' (尝试在文档中放置“module”或“currentmodule”指令,或者给出明确的模块名称)

但没有变化

.. currentmodule:: my.module
.. class:: MyClass

.. automethod:: …
Run Code Online (Sandbox Code Playgroud)

python documentation python-2.7 python-sphinx autodoc

1
推荐指数
1
解决办法
2604
查看次数