2013-12-20 3 views
11

지난 밤 대 명시, 내 __init__.py파이썬 모듈 가져 오기 - 내 Mac에서 작업 할 때 암시 상대 수입

from MongoProvider import MongoProvider 
from Settings import Settings 

등 내가 파이썬의 버전의 확실 해요 일부 모듈 수입을 설정 그 기계에있다. 일단 내가 가지고 있으면 그 정보로 질문을 편집 할 것입니다.

오늘은 Windows와 Python 3.3.3을 사용하는 다른 컴퓨터에서 작업하면서 모듈 가져 오기가 중단되었습니다. 명시 적 상대 가져 오기 (선행 점 추가)를 추가하여 문제를 해결할 수있었습니다.

from .MongoProvider import MongoProvider 
from .Settings import Settings 

I 받고있어 추적은 다음과 같습니다

Traceback (most recent call last): 
File "app.py", line 5, in <module> from modules.route_handlers import Route_Handlers 
File "C:\Users\willb\bearded-dubstep\modules\route_handlers\Route_Handlers.py", line 9, in <module> from modules.backend_providers import Settings 
File "C:\Users\willb\bearded-dubstep\modules\backend_providers\__init__.py", line 1, in <module> from MongoProvider import MongoProvider 
ImportError: No module named 'MongoProvider' 

내 프로젝트 레이아웃

루트
입니다 |
   을 _modules | _api_helpers        
|       InvalidUsage.py
        |     response_utils.py
    | _backend_providers        
|         Settings.py
    | _route_handlers        
|       Route_Handlers
|     app.py

어떤 아이디어가 발생합니까? 보고 있어야하는 구성 파일이 있습니까?

+0

어떤 파이썬 버전은 이것이다 :이 가져 오기 시스템이 모듈을 찾을 수 없기 때문에 파이썬 3 암시 상대적으로 수입의 제거, 당신 문제를 일으키는 사람을 의미? –

+0

Windows에서 3.3.3을 사용 중입니다. 내 Mac에 무엇이 있는지 잘 모르겠습니다. 요즘 배송되는 것은 무엇이든간에. – William

+0

몇 가지 추가 정보를 제공해 주시겠습니까? Windows의 예외와 마찬가지로? 당신은 프로젝트의 파일 레이아웃입니까? –

답변

7

음, PEP-8에 따라 섹션을 가져옵니다

암시 상대 수입은 사용해서는 안됩니다 파이썬에서 제거 된 3

파이썬 3.3 만들고, 당신 문제를 일으키는 사람이기 때문에 당신이 명시 적 수입 친척 모듈, 나는 이것이 상황을 설명한다고 가정합니다. 아마도 Mac에서는 Python 2.x가 있기 때문에 그것이 작동합니다.

프로젝트 파일 분포를 보면 Settings.pyMongoProvider이 실제로 상대적인 모듈입니다.

ImportError: No module named 'MongoProvider' 
2

Mac의 Python 버전이 2.x인데 파이썬이 3.x 인 것 같습니다.

모듈 tkinter (Python 2.x의 Tkinter)를 사용하기 전에 동일한 문제가 발생했습니다.

우리는 XXX.xxx 가져 오기 xxx에서 가져올 필요가있는 것 같습니다 ...● ﹏ ●

나는 디자이너가 왜 파이썬에 적응했는지 모릅니다.