2017-01-17 3 views
0

작동하지 않습니다. 터미널에 있는데 내가 package 폴더에 있고 python을 실행 한 다음 from subpackage1.impl import moduleA을 실행하면 정상적으로 작동합니다.파이썬 수입 나는 그런 나무가

그러나 python submodule1/impl/moduleA_test.py (아직 package 폴더에 있음)을 실행하면 위에 쓴 가져 오기 행에 오류가 발생합니다. 나는 ImportError: No module named subpackage2.impl.moduleB을 얻는다.

나는 또한 python -m submodule1.impl.moduleA_test.py으로 시도했지만 행운은 없습니다.

+0

코드를 실행중인 디렉토리는 어디입니까? 그것이'패키지'에 있다면, 나는 당신이 어떤 문제를 가져야한다고 생각하지 않는다. –

+0

파이썬은 기본적으로 * 현재 디렉토리를보고 * 당신은'sys.path'에 추가하거나'PYTHONPATH' 환경 변수를 사용해야합니다. https://docs.python.org/2/tutorial/modules.html 6.1.2 – cdarke

+0

예, 패키지에 있습니다. 질문을 업데이트했습니다. – thecoparyew

답변

0

from subpackage2.impl.moduleB import func_abc이라고 쓰면 코드와 동일한 디렉토리에있는 packagepackage1.impl과 같은 디렉토리에서 subpackage2 폴더를 검색합니다.

그래서 import 문을 작성하면 존재하지 않는 package.subpackage1.impl.subpackage2.impl.moduleB를 검색하므로 오류가 발생합니다.