2016-08-21 3 views
1

내 프로젝트 트리는 다음과 같이이다 :파이썬, 수입 패키지는

maindir\ 
    dir1\ 
     MAINSCRIPT.py 
    dir2\ 
     scriptA.py 

MAINSCRIPT.py 내 주요 스크립트입니다!

어떻게 음이 처음에 기술 파이썬 패키지 아니다 MAINSCRIPT.py

답변

3

에서 scriptA.py를 가져올 수 있습니다 또는 각 폴더에 __init__.py있을 것입니다. 또한 나는 왜 당신이 당신의 폴더 중 하나에 당신의 메인 프로그램을 가지고 있는지 혼란스러워합니다. 하지만 파이썬의 검사를 정기적으로 경로에없는 파일을 가져 자주 사용했습니다 뭔가 도움이

import sys; sys.path.insert(0, '../dir2'); import scriptA 

희망입니다! 더 많은 정보를 들어 : 당신은 상대의 수입을 사용할 수 있습니다

ImportError: attempted relative import with no known parent package에서 more on path insertion

1

다음 좋은 솔루션입니다.

maindir\   
    main.py 
    lib\ 
     __init__.py 
     dir1\ 
      __init__.py 
      MAINSCRIPT.py 
     dir2\ 
      __init__.py 
      scriptA.py 

MAINDIR \ lib 디렉토리 \ DIR1 \ MAINSCRIPT.py

from ..dir2 import scriptA 
... 

MAINDIR의 \의 main.py를

import lib.dir1.MAINSCRIPT 

이제 우리는 다음과 같이 먼저 디렉토리 구조를 변경 maindir\ :

0123에서 스크립트를 호출 할 수 있습니다.
python main.py