我使用 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
忽略了 automodule
和 autoclass
指令。最初我认为这是由主题差异引起的(我在本地使用
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/