sphinx是否在执行'make html'时运行我的代码?

时间:2012-09-12 15:15:53

标签: python documentation python-sphinx

我继承了一个相当大的代码库,我想为其创建html文档。由于它是用Python编写的,所以我决定使用sphinx,因为代码的用户习惯于使用sphinx创建的python文档的设计和功能。 我使用命令sphinx-apidoc自动创建rst文件。我将模块路径导入sys.path,以便sphinx可以找到代码。

到目前为止一切顺利。但是,当我尝试使用命令make html创建html时,会弹出许多回溯,并且代码库中的一些示例似乎已被执行。可能是什么原因以及如何防止这种情况发生?

2 个答案:

答案 0 :(得分:10)

使用autodoc时,Sphinx会导入已记录的模块,因此会执行所有模块级代码。每次你这样做都会发生这种情况"制作html"。在这个意义上,Sphinx确实运行了#34;你的代码。

您可能需要以不同的方式组织代码以使错误消失(将模块级代码移动到函数中)。有关可能发生的情况的示例,请参阅this question

这是我的猜测,但可能不是整个故事。没有额外信息,很难说更多。

答案 1 :(得分:3)

{{1}}

这样就不会运行您的代码了。