警告:autodoc:导入模块失败。该模块执行模块级别的语句,并且可能调用sys.exit()

时间:2018-08-07 04:44:56

标签: python python-sphinx autodoc

我正在使用Sphinx作为文档,但出现错误

WARNING: autodoc: failed to import module 'my_module'; the module executes module level statement and it might call sys.exit().

我的模块在缩进级别0处有一些代码

my_module.py

<Class defination and related methods>
# below piece of code at indentation level 0 
emp_object = Employee(132,'Wolf Street Paris')
result = emp_object.GetAddress(133)
if result is None:
    sys.exit("Failed to fetch details")

但是如果我添加如下所述的if条件,我不会得到任何错误:

if __name__=='__main__':
    emp_object = Employee(132,'Wolf Street Paris')
    result = emp_object.GetAddress(133)
    if result is None:
        sys.exit("Failed to fetch details")

按照Sphinx Documentation

  

如果您对脚本(而不是库模块)进行文档编制,请确保其主例程受if __name__ == '__main__'条件的保护。

但是在我的情况下,如果块作为my_module不是要调用的主例程,则无法在其中编写代码。

我的疑问是:

  1. 是否可以明确提到在模块中不要看特定的代码行,请跳过它。

  2. 我在缩进0的代码上方编写了类和方法,我需要为其生成文档,但无法将代码分为两个不同的文件

请建议是否有可能禁止Sphinx不要看那些代码行。任何帮助将不胜感激

0 个答案:

没有答案