5

我正在尝试使用 Sphinx 生成 python 文档。问题是 sphinx-build 最终会执行模块/评估全局范围内的任何内容。这样做有什么原因吗?有谁知道可以设置为禁用此功能的标志?

似乎 Sphinx 正在尝试进行代码覆盖或类似的事情,这绝对不是我想要的。通常这不会是一个问题,但一组特定的模块非常特定于环境。

4

1 回答 1

6

Sphinx 会评估全局范围内的所有内容,因为 autodoc 插件会导入模块,并且导入模块会评估全局范围内的所有内容。

要阻止这种情况,请执行以下任一操作:

  • 禁用 autodoc 插件(autodoc在 sphinx 配置文件中搜索),或
  • 用类似的东西保护你不想执行的代码if __name__ == "__main__": do_stuff()
于 2012-06-13T00:11:35.780 回答