Когда я загружаю свой код в 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
Производит менее чем полезное:
+--------------------------------------
| In /home/ross/foo.py:
| Import failed (but source code parsing was successful).
| Error: KeyError: 'DOES_NOT_EXIST' (line 1)
Я хочу, чтобы epydoc сообщил мне, что ошибка находится на 6-й строке
bar.py
. Я не хочу жаловаться на импорт
foo.py
из
bar.py
. Я не могу воспроизвести мою
специфическую проблему в небольшом примере, но мой основной запрос заключается в том, что при сбое epydoc я хочу напечатать трассировку стека, чтобы указать на проблему. Будь то загрузка субмодуля или вызов не найдя ключ в словаре.
ПРИМЕЧАНИЕ. Корень этой проблемы заключается в том, что код, который я пытаюсь задокументировать, является входом для SCons, у которого возникают различные проблемы с настройкой среды. Вот почему, когда я запускаю в epydoc
, он не работает, но скрипт все еще работает при запуске с scons -f SConstruct.py
. Я также пытаюсь сгенерировать документацию с sphinx
. Когда я запускаю с sphinx
, он фактически показывает трассировку стека. Может быть, я пойду с sphinx
...