2016-06-27 1 views
0

좀 더 쉽게 관리 할 수 ​​있도록 몇 가지 프로젝트가 있습니다. 그래서 파일을 복사하는 대신 여러 응용 프로그램에서 사용되는 일부 부품을 모듈로 옮겼습니다.패키지를 올바르게 가져 오는 방법

는 지금은 (모든 모듈은 자체 문서 및 테스트를 가지고) 내 모듈의 구조는 다음과 같습니다

:
/projects 
    /module1 
    __init__.py 
    run_tests.py 
    /docs 
     ... 
    /module1 
     __init__.py 
     module1.py 
    /tests 
     __init__.py 
     module1_test.py 
    /module2 
    ... 

지금 나 자신과 동일한 방식으로 규정 된 "주요 애플 리케이션"디렉토리 있어요
/projects 
    run_app.py 
    run_tests.py 
    /docs 
    ... 
    /app 
    __init__.py 
    app.py 
    module1 <-- Link to the module1 repository 
    /tests 
    __init__.py 
    app_tests.py 

내 모든 __init__.py 파일은 순간에 비어 있고 내 app.py 파일에 적절한 import 문을 작성하는 방법을 모르겠어요. 모듈 1에 단 하나의 클래스가 있기 때문에 나는 허구를 원하지 않습니다. ModuleClass은 "모듈 레벨"로 가져와야하므로 import module1.ModuleClass과 같은 것을 할 수 있습니다. 내가 __init__.py 파일을 조정할 필요가 있지만 모든 시도는 테스트 또는 전체 가져 오기를 망가뜨 렸습니다.

어떤 도움을 아주 많이

+0

각 하위 모듈에 대해 'setup.py'를 작성하여 종속 파일로 설치할 수 있습니다 – jonrsharpe

답변

0

좋아요 ... 내가 원어민 아니라고 평가하고 불쌍한 내 설명 죄송 될 것이다, 나는 해결책을 찾아 냈다. 언제나처럼 그것은 꽤 솔직했다.

모든 __init__.py 파일에 다음 줄을 모듈 상단에 재귀 적으로 추가해야했습니다.

from .module1 import ModuleClass 

누군가가 같은 상황에 처한 경우 나중에 참조 할 수 있도록이 글을 남겨 두겠습니다.

건배