Python

[Python] import - 검색 순서

비번변경 2022. 8. 4. 21:30

import

2022.05.28 - [import] 모듈 가져오기에서 다른 모듈을 가져와 사용하는 방법을 정리했다.

pip, conda 등으로 설치한 모듈은 import 문으로 사용하면 되는데, 직접 작성한 Python 모듈은 어떻게 가져와야 할까?

 

먼저 import 문은 아래 목록을 순서대로 탐색하며 가져올 모듈을 찾는다.

  1. sys.modules
  2. built-in modules
  3. sys.path

순서대로 탐색하여 찾는 모듈과 패키지가 없으면 ModuleNotFoundError가 발생한다.

 

sys.modules

파이썬이 모듈이나 패키지를 찾기 위해 가장 먼저 확인하는 곳.
현재 프로젝트에서 import 해서 사용하고 있는 모듈과 패키지를 저장한 dictionary다. 한 번 import 된 모듈과 패키지를 다시 찾지 않도록 하기 위함이다.

sys.modules

 

 

built-in modules

파이썬에서 제공하는 공식 라이브러리.

파이썬을 설치할 때 함께 포함되어 있는 라이브러리에 해당되어 별도의 설치 없이 사용할 수 있다.

위 사진에서 sys.modules

 

 

sys.path

파이썬이 모듈과 패키지를 찾기 위해 가장 나중에 확인하는 곳.

문자열 요소를 가진 리스트로, 로컬 프로젝트의 경로가 저장되어 있다. 파이썬 모듈이나 패키지를 import 하면 sys.path를 살펴보며 어느 경로인지 확인한다. sys.path에서도 모듈과 패키지를 찾지 못하면 ModuleNotFoundError가 발생한다.

sys.path

 

 

참고 문서

https://livetodaykono.tistory.com/22

python import의 검색 순서

[python]Module과 Package 임포트 서치 순서

1.sys.modules / 2. built-in modules/ 3. sys.path 정리