2014-09-07 5 views
1

내 프로젝트 구조를 작동하지 않습니다파이썬 상대 가져 오기

내가 {moduleB} 평에서 {muduleA} 평을 가져올
project1/ 
    __init__.py 
    main/ 
     __init__.py 
     {main}.py 
     file1.py 
     file2.py 
     subA/ 
      __init__.py 
      {moduleA}.py 
       class {A_class} 
      file3.py 
      file4.py 
     subB/ 
      __init__.py 
      {moduleB}.py 
      file5.py 
      file6.py 

. 왜이 시도를 할 수 없습니까?

from project1.subA import {moduleA} 

가 (뿐만 아니라 다음 작동하지 ..) {moduleB} 평에

...

from ..subA import {moduleA}    
from ..subA.{moduleA} import {A_class} 
from project1.subA.{moduleA} import {A_class} 
import project1.subA.{moduleA}.{A_class} 
+0

'project1.main.sub.moduleA import A_class' 시도하십시오. 예제의 내용은 'main'이라는 내부 패키지에 있습니다. –

답변

0

그것은 더 좋을 것

import sys,os 
sys.path.append(os.path.abspath('../../..')) 

import project1.subA.moduleA.A_class 
from project1.subA.moduleA import A_class 

을 다음과 같은 해결 미래에 혼란을 피하기 위해 모듈을 명시 적으로 임포트하는 것.