6

我已经开源了我的一些代码,但是尽管使用由本地创建sphinx-quickstart的Makefile 按预期工作,但文档无法在 ReadTheDocs 上正确构建。make html谁能告诉我我在 RTD 集成方面做错了什么?

我已经阅读了有关可能使用 RTD 高级设置在 virtualenv 中构建模块的信息,但这不起作用,因为我有 scipy 作为要求,并且由于没有可用的 BLAS 库而构建失败(对于每个构建来说,这也是一项不必要的长任务的文档)。

sphinx.ext.autodoc 和 sphinx.ext.napoleon(用于谷歌风格的文档字符串)都包括在内。在本地,我只跑过dev-scripts/api-docs.sh一次,它创建了docs/source/bnol.rstdocs/source/modules.rst. 然后使用标准 Makefile(在 git repo 中忽略)按预期构建文档。

编辑:我发现这个常见问题解答详细介绍了 RTD 上的构建过程,sphinx-build并在本地使用了相同的过程,它按预期工作。我正在搜索 RTD 日志以查找错误,但目前还没有什么值得注意的。

4

1 回答 1

4

使用 Sphinx 的autodoc文档字符串注释创建文档需要加载 Python 文件,因此它们导入的所有模块也将被导入。ReadTheDocs 将构建所需的模块,尤其是在 和 的情况下numpyscipy可能会失败。

setup.py我通过从包根目录中的pip需求文件中删除模块来纠正问题,./requirements.txt以便在实际包安装中使用。然后放置一个虚拟(空)需求文件,并在那里指向 ReadTheDocs 配置(即使未指定,./docs/source/它似乎也会自动加载,因此需要虚拟)。./requirements.txt

这仍然留下了导入模块的问题,该问题已在我的文件 mock中看到并在以下位置进行了详细说明:http: //blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when -你使用 numpy 和 scipy/./docs/source/conf.py

在解决问题的提交中可以看到完整的更改列表。

于 2016-04-18T17:22:56.130 回答