하위 디렉토리에 있는 모듈을 import할 수 없습니다.
조회수 6341회
디렉토리 구조가 이렇게 있을 때
bin/
dir.py
main.py
usr/
user.py
main.py에서 dir.py의 class dir과 user.py의 class user를 import하고 있는데
같은 디렉토리 내의 dir모듈은 아무 문제가 없는데 하위 디렉토리에 있는 user 모듈을 import할 수 없습니다.
어떻게 import해야 하위 디렉토리에 있는 모듈을 import할 수 있을까요
소스코드
#main.py
from dir import dir
from user import user
#아래로 코드
에러내용
Traceback (most recent call last): File "main.py", line 2, in from user import user ImportError: cannot import name user
1 답변
-
같은 디렉토리 안에 있는데도 import를 할 수 없다면, 해당 디렉토리에 빈 파일을 하나 만들어
__init__.py
로 이름지으면 됩니다.__init__.py
는 package 안에 어떤 것들이 import될 수 있느냐를 설정하는 파일입니다. 이걸 비웠을 경우는 import에 제한이 없는 것으로 간주됩니다.하위 디렉토리에도 똑같이
__init__.py
를 만들어주시고, 하위 디렉토리의 모듈을 import하고 싶으면 점을 찍으면 됩니다.그래서
bin/ dir.py main.py usr/ user.py
이 계층 구조에서 main은
from dir import dir from usr.user import user
로 다른 모듈을 import 해주세요
댓글 입력