这是我第一次使用狮身人面像,到目前为止我已经知道了很多,但是有一个特别的警告,我不知道它在告诉我什么。
根据http://www.sphinx-doc.org/en/stable/ext/autodoc.html上的文档,如果提供了“特殊”成员标志选项,将包括Python“特殊”成员(即那些命名类似于特殊的成员):
.. 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:警告:缺少属性:特殊成员:对象.rst:7中的init“
我使用的是狮身人面像1.5.1版本,所以当我把我想要记录的特殊成员的名字传递给它时,难道不应该这样做吗?这个错误使我看起来好像从我的.py文件中丢失了一些东西,我正在从中提取文档字符串。是这样吗?如果我想这样做的话,我找不到任何特殊的东西需要出现在这个方法中。
发布于 2020-04-02 08:20:31
请注意,如果您谈论的是一个类,您应该使用:
.. autoclass:: MyClass
:members:
.. automethod:: __init__如果您谈论的是包含类和其他内容的模块,请使用:
.. automodule:: mymodule
:members:
:special-members: __init__请注意,这将记录在模块上找到的所有init方法。
如果同时使用这两种方法,那么您的MyClass.init方法将记录两次:
.. automodule:: mymodule
:members:
:special-members: __init__
.. autoclass:: MyClass
:members:
.. automethod:: __init__发布于 2017-02-14 16:08:22
我确实发现,被重复两次的类docstring是因为..automodule部分。我把它拿出来,它仍然包括整个类的定义,所以这让我很高兴。
我仍然无法使用:special:选项来记录__init__定义,但这是一个可以忽略不计的问题,因为这个类已经有了足够的文档。所以我想我只是想让这个警告吓到我.就目前而言。
https://stackoverflow.com/questions/42214656
复制相似问题