【发布时间】:2017-02-13 22:24:15
【问题描述】:
这是我第一次使用 Sphinx,到目前为止我已经弄清楚了很多,但是我收到了一个特别的警告,我无法弄清楚它在告诉我什么。
根据http://www.sphinx-doc.org/en/stable/ext/autodoc.html 上的文档, 如果给定了 special-members 标志选项,则将包含 Python“特殊”成员(即那些名为 special 的成员):
.. autoclass:: my.Class
:members:
:private-members:
:special-members:
将记录班级的“私人”和“特殊”成员。 1.1 版中的新功能。 在 1.2 版中更改:该选项现在可以接受参数,即要记录的特殊成员。
我试图在我的文档中列出一个类的 __init__,但没有其他特殊成员,所以我的 .rst 文件是这样的:
**myClass Class**
==================
.. automodule:: python_module.submodule.series.myClass
:members:
.. autoclass:: myClass
:members:
:special-members: __init__
我收到错误“.rst:7: WARNING: missing attribute :special-members: init in object python_module.submodule.series.myClass.myClass
我使用的是 sphinx 版本 1.5.1,所以这不应该工作吗,因为我已经将我想要记录的特殊成员的名称传递给它?该错误使我看起来好像从我的 .py 文件中丢失了一些东西,我从中提取了文档字符串。是这样吗?如果我想这样做,我找不到任何需要在方法中出现的特殊内容。
【问题讨论】:
-
python_module.submodule.series.myClass不是一个模块,它是一个类。我想你想要.. automodule:: python_module.submodule.series。 -
我很抱歉。 myClass 实际上是一个模块。我在 myClass 模块中有一个 myClass.py 文件。我应该更好地命名这些东西。模块的树结构如下: python_module->submodule->series->myClass->myClass.py myClass.py 包含该类使用的类定义和方法。这就是 init 给我带来 Sphinx 问题的地方。
-
另外,可能不相关的问题?但是我的课程文档字符串被重复两次。
标签: python warnings python-sphinx autoclass