我使用 Django 为我的 Sphinx 应用程序创建了一组文档。我使用 readthedocs.org 创建该文档的公共(public)版本。这很有效,但有一个奇怪的地方。在 readthedocs.org 上,我的一些文档的生成与本地构建不同。例如,对于我的 models.py 我创建了 models.rst ,它看起来像这样:

Models
======

.. automodule:: my_app.models

Agents
------

Agent
`````
.. autoclass:: Agent
   :members:

etc...

对于本地构建,这将创建一个带有模型名称作为标题的文档,它们的文档字符串和带有添加了 #: comment... 的文档字符串的成员。

然而,在 readthedocs.org 上只生成每个模型的标题条目,仅此而已。

看起来好像 readthedocs.org 忽略了 automoduleautoclass 指令。

最初我认为这是由主题差异引起的(我在本地使用 bootstrap 主题,在 readthedocs 上使用 readthedocs.org 主题),但是在 virtualenv 上设置 readthedocs.org 并在那里使用 bootstrap 主题后,没有任何改变。构建完成,但我的模型的文档仍然不存在。

在本地我使用 Sphinx 1.2.2 。我不确定 readthedocs.org 上使用的是哪个版本,但我认为是 1.2.x 版本。

关于可能导致这种情况的任何想法?

最佳答案

同样的问题困扰了我一周 - 至少在我的情况下,解决方案很简单:

在 readthedocs.org 仪表板的“高级设置”中,您可以指定一个 requirements.txt 文件。在这个文件中,我没有指定在我的一些模块中导入的 PyQt5 模块 - 添加该模块立即解决了我的问题。

对于所有这些模块,只生成了一个标题字符串,而所有其他模块都呈现良好。为什么 readthedocs.org 上的构建过程无声无息地失败并报告构建成功,这让我感到震惊。我还没有找到使构建过程更详细或检查日志文件的方法。

另见 Debug / logging info for build process on readthedocs.org

尤其是 Sphinx automodule works offline but not through readthedocs.org 下的(更好的)答案

关于python-sphinx - Sphinx local 和 readthedocs.org 之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23222721/

10-14 01:17