파이썬에서 import 문으로 모듈을 불러올 때, 인터프리터는 정해진 순서에 따라 해당 모듈을 검색합니다. 이 검색 순서를 이해하면 모듈을 찾지 못해 발생하는 오류를 쉽게 해결할 수 있습니다.
모듈 검색 순서
파이썬 인터프리터는 다음과 같은 순서로 모듈을 찾습니다.
- 현재 디렉터리: 실행 중인 스크립트가 위치한 디렉터리를 가장 먼저 확인합니다.
- PYTHONPATH 환경 변수: 현재 디렉터리에서 모듈을 찾지 못하면, 셸 변수
PYTHONPATH에 등록된 각 디렉터리를 차례대로 검색합니다. - 기본 경로(Default Path): 위 단계에서도 찾지 못하면, 파이썬 설치 시 지정된 기본 경로를 확인합니다. UNIX 계열 시스템에서는 일반적으로
/usr/local/lib/python/이 기본 경로입니다.
sys.path 변수 확인하기
모듈 검색 경로는 시스템 모듈인 sys의 sys.path 변수에 저장되어 있습니다. 이 변수에는 현재 디렉터리, PYTHONPATH, 그리고 파이썬 설치 환경에 따라 달라지는 기본 경로가 리스트 형태로 포함되어 있습니다.
다음 코드로 실제 검색 경로를 직접 확인할 수 있습니다.
import sys print(sys.path)
PYTHONPATH 환경 변수란?
PYTHONPATH는 디렉터리 목록으로 구성된 환경 변수입니다. 문법은 운영체제의 셸 변수 PATH와 동일하며, 여기에 등록된 디렉터리들은 모듈 검색 시 우선적으로 탐색됩니다.
Windows 시스템의 예시
set PYTHONPATH = c:\python20\lib;
UNIX 시스템의 예시
set PYTHONPATH = /usr/local/lib/python
이처럼 PYTHONPATH를 적절히 설정하면 프로젝트별 모듈이나 사용자 정의 라이브러리를 어디서든 손쉽게 불러와 사용할 수 있습니다.