Sphinx中的Autodoc单模块属性

时间:2013-01-22 16:21:23

标签: python python-sphinx docutils

假设我在Python模块中记录了一个变量,如下所示:

some_random_name = 'whatever'
"""The random whatever variable"""

我可以在我的.rst文件中包含该单个变量的autodocs,没有也可以拖动模块__doc__字符串并为其生成文档输出吗?

我试过了

.. automodule: themodule
   :members: some_random_name

但是这两个都在__doc__字符串中拖动,并且不显示some_random_name的autodoc。

1 个答案:

答案 0 :(得分:2)

我无法通过记录模块属性来重现问题。这个对我有用。你有没有机会在你的模块中有一个__all__变量,其值不包括some_random_nameSphinx considers __all__寻找会员时。{/ p>

可以通过拦截autodoc-process-docstring事件来删除模块docstring。这是一个演示(将代码添加到 conf.py ):

import inspect

def remove_mod_docstring(app, what, name, obj, options, lines):
    """Erase module docstring in-place"""  
    if inspect.ismodule(obj):
        for i in xrange(len(lines)):
            lines[i] = ''

def setup(app):
    app.connect('autodoc-process-docstring', remove_mod_docstring)