Sphinx执行make html处理含.. automodule::的rst文件后停止输出消息
问题现象
执行make html生成文档时,Sphinx处理包含.. automodule::指令的.rst文件后,仅输出到reading sources阶段就直接显示完成消息,看不到中间的事件触发、autodoc导入等详细过程。
当前输出示例:
reading sources... [ 43%] service_code
Build finished. The HTML pages are in _build/html.
期望能看到的完整日志示例:
reading sources... [ 43%] service_code
[app] emitting event: 'env-purge-doc'(<sphinx.environment.BuildEnvironment object at 0x7a71119e6050>, 'service_code')
[app] emitting event: 'source-read'('service_code', ['Services Code\n=============\n\n\n \n \nGet Test\n~~~~~~~~\ntest of auto import\n\n.. automodule:: ibis.views.login\n :members:\n '])
[autodoc] /home/jacek/workspace/ibis3_i2i/branches/3.9/ibis/static/sphinx/service_code.rst:11: input:
.. automodule:: ibis.views.login
:members:
[autodoc] import ibis.views.login
Build finished. The HTML pages are in _build/html.
解决方法
- 临时启用详细日志:执行
make html时添加VERBOSE=1参数,命令为:make html VERBOSE=1 - 永久修改默认日志级别:找到项目的Makefile,修改
SPHINXOPTS变量,添加-v参数,例如:SPHINXOPTS ?= -v,之后直接执行make html就能默认输出详细日志 - 直接使用sphinx-build命令:通过
-v(verbose级别)或-vv(debug级别)参数指定日志详细程度,示例命令:sphinx-build -v docs/source docs/_build/html
内容的提问来源于stack exchange,提问作者jp2318

