Nic*_*k T 5 python documentation python-sphinx
我正在使用rST/Sphinx来记录我的Python,但是当构建它时会抛出警告,例如
...Code/doc/code.rst:3: SEVERE: Duplicate ID: "module-toast".
Run Code Online (Sandbox Code Playgroud)
我的Python源文件记录如下:
#!/usr/bin/env python
'''
.. module:: toast
:synopsis: Processes the blobs produced by :mod:`bread`.
'''
# my inline-rST documented code...
Run Code Online (Sandbox Code Playgroud)
并且rST文件使用autodoc提供的automodule指令来拉出所有文档字符串并记录所有成员.
Toast
--------------------------------
.. automodule:: toast
:members:
Run Code Online (Sandbox Code Playgroud)
上面的组合似乎工作正常,但错误似乎意味着有一个正确的方法来做到这一点.如果我从源文件的顶部删除模块指令,则错误消失,但是我无法在Sphinx拾取的源中添加一个概要选项.
一种方法是使用:noindex:标志.
.. automodule:: toast
:members:
:noindex:
Run Code Online (Sandbox Code Playgroud)
然后在您的源代码中,您可以使用:
#!/usr/bin/env python
'''
.. module:: toast
:synopsis: Processes the blobs produced by :mod:`bread`.
'''
Run Code Online (Sandbox Code Playgroud)
将不会有SEVERE警告,并且概要中的消息将出现在模块索引中.
另一方面,:noindex:如果模块.. module::在源文件中没有,则将模块从索引中隐藏.
我不确定,但我相信该指令会自行automodule创建一个指令。module然后,由于您已经指定了一个,因此有两个,因此您会收到重复的 ID 消息。
您可以尝试currentmodule在模块标记中使用指令而不是module. 看起来应该可行,尽管我承认我还没有真正尝试过。
| 归档时间: |
|
| 查看次数: |
2152 次 |
| 最近记录: |