내 코드를 epydoc
에로드하고 최상위 모듈을로드하면 다음과 같이 실패합니다.코드를로드 할 때 epdoc에서 스택 트레이스를 얻으려면 어떻게해야합니까?
Error: TypeError: 'NoneType' object is not callable (line 10)
여기서 참조하는 NoneType
은 9 행에로드하려고했던 하위 모듈입니다. 어떻게 얻을 수 있습니까? epydoc을 사용하여 9 번 줄에 모듈을로드 할 수없는 이유를 설명하고 오류를 범하는 대신에?
nosko 님의 요청에 따라
# 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 말해 할을 것을 여기에 스택 트레이스가 주어지지 유사한 예이며,
bar.py
의 라인 6. 나는 그것이
bar.py
의
foo.py
수입에 관하여 불평하기를 원하지 않는다. 작은 예제에서
의 특정 문제를 재현 할 수는 없지만, 근본적인 요청은 epydoc이 실패 할 때 스택 추적을 인쇄하여 문제를 지적하기를 원합니다. 사전에 하위 모듈을로드하는지 아니면 키를 찾지 못하는지 여부
참고 :이 문제의 근본 원인은 다른 환경 설정 문제가있는 SCons에 대한 입력입니다. 그것이 epydoc
에서 실행될 때 작동하지 않지만 scons -f SConstruct.py
을 실행할 때 스크립트가 여전히 작동하는 이유입니다. 또한 sphinx
로 문서를 생성하려고합니다. sphinx
으로 실행할 때 실제로 스택 추적을 보여줍니다. 어쩌면 sphinx
과 함께 갈 것입니다 ...
코드를 제공하거나 문제를 재현하는 스 니펫을 제공합니다. – nosklo
문제를 격리 할 수 있다면 문제를 진단하는 데 스택 추적이 필요하지 않습니다. 나는 더미 예제를 요리하려고 노력할 것이다. 그러나 최종 목표는'epydoc'의 stacktrace입니다. 모듈을 가져올 수 없을 때 epydoc이 심하게 실패하기를 원합니다.은폐하지 않고 새롭고 이상한 방식으로 실패 할 때까지 계속하십시오. (그 행동은 perl처럼 들립니다. * shudder *) –