2011-01-16 4 views
2

를 가져올 수 없습니다 내가 가지고있는 내가 가져 오려고하면 스택 트레이스 다음 ModuleA : 그것은 반복적으로/다시 ModuleA를 가져 있기 때문에ImportError를 : 이름 ModuleA

Traceback (most recent call last):               
    File "menu.py", line 9, in <module>              
    from tmserver import Module1               
    File "~/tmserver/Module1.py", line 10, in <module>                   
    from tmserver.PackageA import ModuleA            
    File "~/tmserver/Package1/ModuleA.py", line 8, in <module>                
    from tmserver.Package2 import Module2            
    File "~/tmserver/Package2/Module2.py", line 15, in <module>                 
    from tmserver.Package3 import Module3              
    File "~/tmserver/Package3/Module3.py", line 5, in <module>                   
    from tmserver.PackageA import ModuleA            
ImportError: cannot import name ModuleA 

이인가?

+0

아마도 tmserver라는 두 개의 파일이 있을까요? sys.path와 함께 디버깅 할 프린트를 추가 할 수 있습니다. 여전히 이상합니다. – TryPyPy

+2

설정 ' – XORcist

답변

3

이는 논리적 결론처럼 보일 것입니다. 아마도 실행중인 코드의 샘플을 게시 한 경우 더 나은 응답을 얻을 수 있을까요?

+2

+1'에서 잘못된 점에 대한 설명을 보려면 '순환 수입'섹션 (http://effbot.org/zone/import-confusion.htm)을 참조하십시오. 그러나 더 많은 코드를 게시 할 필요가 없습니다. 그것은 스택 트레이스에 모두 있습니다. 나머지 가져 오기가 완료되기 전에 ModuleA를 가져올 때 (따라서 ModuleA가 완전히로드되지 않은 경우) ModuleA를 다시 가져 오려고 시도합니다. 무한 재귀. – XORcist

관련 문제