2014-12-25 3 views
1

저는 파이썬 수입품을 계속해서 고심하고 있습니다 ... 나는 언어가 마음에 들지만 가져 오기 메커니즘이 나를 미치게 만듭니다. 내 코딩 시간이 왜 가져 오기가 작동하지 않는지 디버깅하는 데 소비 되었습니까?!?!둘 이상의 폴더에서 파이썬 가져 오기 문제

나만이 그것을 고민하고 있습니까?

폴더 구조 (SRC 폴더) : 내가 파이썬 3.4를 사용하고

.: 
total 16 
drwxr-xr-x 1 xy None 0 Dec 22 14:33 private 
drwxr-xr-x 1 xy None 0 Dec 22 14:36 public 
-rw-r--r-- 1 xy None 22 Dec 22 14:54 __init__.py 

./private: 
total 16 
drwxr-xr-x 1 xy None 0 Dec 22 14:51 models 
drwxr-xr-x 1 xy None 0 Dec 22 15:52 utils 
-rw-r--r-- 1 xy None 76 Dec 25 12:05 __init__.py 

./private/models: 
total 16 
drwxr-xr-x 1 xy None 0 Dec 22 14:51 environment 
-rw-r--r-- 1 xy None 28 Dec 25 12:04 __init__.py 

./private/models/environment: 
total 32 
drwxr-xr-x 1 xy None 0 Dec 22 14:51 territories 
-rw-r--r-- 1 xy None 47 Dec 22 17:08 __init__.py 
-rw-r--r-- 1 xy None 88 Dec 22 18:02 ship.py 

./private/models/environment/territories: 
total 64 
-rw-r--r-- 1 xy None 393 Dec 22 16:22 territory.py 
-rw-r--r-- 1 xy None 115 Dec 22 16:26 own.py 
-rw-r--r-- 1 xy None 69 Dec 22 18:07 __init__.py 
-rw-r--r-- 1 xy None 408 Dec 25 12:25 location.py 

./private/utils: 
total 32 
-rw-r--r-- 1 xy None 20 Dec 22 15:58 __init__.py 
-rw-r--r-- 1 xy None 182 Dec 22 16:00 utils.py 

./public: 
total 0 
-rw-r--r-- 1 xy None 0 Dec 22 14:36 index.py 

여기 내 최신 문제입니다. 내 질문은, 어떻게 import.py private.models.environment.ship location.py 있습니다.

이걸로 시도하지 :

sys.path.append(os.path.join(os.path.abspath(os.path.join(__file__)).split('src')[0], 'src')) 
import private.models as models 

하지만 오류 메시지를 받고 있어요 "그런 모듈 모델을 ..."짜증나. location.py 만 모듈 (당신이 메인 프로그램으로 사용할 수없는) 인 경우

답변

0

이 문제는 상대의 수입으로 해결된다 : location.py에서 https://www.python.org/dev/peps/pep-0328/

당신이 쓸 수

from .. import ship 

그리고 그게 다야!

+0

덕분에, 나는 전체 pep를 읽고 수입에 관해 많은 것을 나에게 분명히했다. 지금부터는 파이썬 모듈 가져 오기와 관련하여 문제가 없기를 바랍니다. 꽤 좋은 요약입니다. – vpas

관련 문제