Django我使用为我的应用程序创建了一组文档Sphinx。我用来readthedocs.org创建该文档的公共版本。这很有效,但有一个奇怪的地方。我的readthedocs.org一些文档生成与本地构建不同。例如,对于我models.py创建的models.rst,它看起来像这样:
Models
======
.. automodule:: my_app.models
Agents
------
Agent
`````
.. autoclass:: Agent
:members:
etc...
Run Code Online (Sandbox Code Playgroud)
对于本地构建,这将创建一个文档,其中模型名称作为标题,其文档字符串及其成员(其中#: comment...添加了文档字符串)。
然而,readthedocs.org仅生成每个模型的标题条目,仅此而已。
看起来好像readthedocs.org忽略了automodule和autoclass指令。
最初我认为这是由主题差异引起的(我bootstrap在本地使用主题,在 上使用readthedocs主题readthedocs.org),但是在设置了virtualenvonreadthedocs.org并在那里使用bootstrap主题后,没有任何变化。构建已完成,但我的模型的文档仍然缺失。
我在本地使用Sphinx 1.2.2. 我不确定 readthedocs.org 使用的是哪个版本,但我推测是 1.2.x 版本。
关于可能导致这种情况的任何想法?
同样的问题困扰了我一周——至少就我而言,解决方案很简单:
在 readthedocs.org 仪表板的“高级设置”中,您可以指定一个requirements.txt文件。在此文件中,我没有指定在我的某些模块中导入的 PyQt5 模块 - 添加模块立即解决了我的问题。
对于所有这些模块,仅生成了一个标题字符串,而所有其他模块都呈现良好。为什么 readthedocs.org 上的构建过程会默默失败并报告构建成功,这让我很困惑。我还没有找到一种方法来使构建过程更加详细或检查日志文件。
另请参阅readthedocs.org 上构建过程的调试/日志记录信息
特别是Sphinx automodule 下的(更好)答案可以离线工作,但不能通过 readthedocs.org