Python sphinx ReadTheDocs不解析Python模块(Sphinx)中的docstring

Python sphinx ReadTheDocs不解析Python模块(Sphinx)中的docstring,python-sphinx,read-the-docs,Python Sphinx,Read The Docs,我已经公开了我的一些代码,但是文档无法在ReadTheDocs上正确构建,尽管使用了由sphinx quickstart和make html本地创建的make文件。有人能告诉我RTD集成有什么问题吗 我读过关于可能在带有RTD高级设置的virtualenv中构建模块的文章,但这不起作用,因为我需要scipy,并且由于没有可用的BLAS库,构建失败(对于每个文档构建来说,这也是一项不必要的长任务) sphinx.ext.autodoc和sphinx.ext.napoleon(用于谷歌风格的docs

我已经公开了我的一些代码,但是文档无法在ReadTheDocs上正确构建,尽管使用了由
sphinx quickstart
make html
本地创建的make文件。有人能告诉我RTD集成有什么问题吗

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

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

  • /bnol/
编辑:我发现了这一点,并在本地使用了与
sphinx build
相同的过程,它可以按预期工作。我正在搜寻RTD日志中的错误,但还没有任何值得注意的地方

使用Sphinx创建文档需要加载Python文件,因此它们导入的所有模块也将被导入。ReadTheDocs将构建所需的模块,特别是在
numpy
scipy
的情况下,这些模块可能会失败

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

这仍然存在导入模块的问题,该问题已通过
mock
解决,如我的
/docs/source/conf.py
文件所示,详细内容如下:


在.

Hey@Arran我不是RTD专家,但看起来您需要github repo中BNoL/docs文件夹中的Makefile。我也看不到您的github设置,但您还需要启用RTD服务挂钩设置。一旦你有了这两个,它应该会起作用。谢谢@BradBaskin。请参阅下面的修复。这帮助我解决了问题,但我发现您不必从
setup.py
中删除模块,只需创建模拟需求文件并指向它即可。为发布您自己问题的解决方案而干杯。我也有同样的问题;在我的
repo_dir/docs/conf.py
中,我设置了
sys.path.insert(0,os.path.abspath('../app_dir'))
对应于
repo_dir/app_dir/u init_u.py
。将其更改为
sys.path.insert(0,os.path.abspath('../'))