当我加载我的代码epydoc
并加载顶部模块时,它失败了:
Error: TypeError: 'NoneType' object is not callable (line 10)
它所指的是我试图在NoneType
第 9 行加载的子模块。我怎样才能让 epydoc 解释为什么它无法在第 9 行加载模块,而不是仅仅向前推进并遇到错误?
按照诺斯科的要求。这是类似的示例,其中没有给出堆栈跟踪:
# foo.py
import bar
bar.baz()
# bar.py
def baz():
print 'baz'
import os
os.environ['DOES_NOT_EXIST']
运行:
python2.6 epydoc --html foo.py
产生不太有用的:
+---------------------------------------- | 在 /home/ross/foo.py 中: | 导入失败(但源代码解析成功)。 | 错误:KeyError:'DOES_NOT_EXIST'(第 1 行)我希望 epydoc 告诉我失败发生在
bar.py
. 我不希望它抱怨foo.py
. bar.py
我无法在一个小示例中重现我的具体问题,但我的基本要求是,当 epydoc 失败时,我希望它打印堆栈跟踪以指向问题。无论是加载子模块还是调用在字典中找不到键。
注意:这个问题的根源是我试图记录的代码是 SCons 的输入,它有不同的环境设置问题。这就是为什么当我在其中运行时epydoc
它不起作用,但在运行时脚本仍然有效scons -f SConstruct.py
。我也在尝试使用sphinx
. 当我使用它运行时,sphinx
它实际上显示了堆栈跟踪。也许我会和sphinx
...