Sphinx autodoc,带有来自readthedocs上模拟模块的参数

时间:2017-05-15 12:18:51

标签: python-sphinx read-the-docs autodoc

我们正在使用readthedocs来记录我们的开源项目pandapower。

由于pandapower依赖于numpy和其他无法在rtd上构建的C库,因此我们使用autodoc_mock_imports参数为这些库创建模拟导入。这通常很有用,但是在将np.nan作为默认参数的函数的autodoc中引起问题,例如here。默认值,例如对于sn_kva参数是np.nan(请参阅代码中的here),但由于numpy作为模拟模块导入,因此它显示为“sphinx.ext.autodoc._MockModule对象”。

有没有人知道有可能避免这种情况?

1 个答案:

答案 0 :(得分:0)

提供所需签名作为docstring的第一行。然后,Sphinx将其用作输出中的签名。请参阅http://www.sphinx-doc.org/en/stable/ext/autodoc.html#confval-autodoc_docstring_signature

在你的情况下,函数的第一行看起来像这样:

def create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
            name=None, scaling=1., index=None,
            in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
            max_q_kvar=nan, min_q_kvar=nan, controllable=nan):
    """
    create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
                name=None, scaling=1.0, index=None,
                in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
                max_q_kvar=nan, min_q_kvar=nan, controllable=nan)

    Adds one load in table net["load"].

    ...

    """