Language/Python

[Python] sys.path에 관해

범데이 2021. 11. 23. 00:46

파이썬의 sys.path는 모듈을 import할 때 모듈을 찾아야 할 경로들을 저장해둔 list이다.

 

예를 들어 sys.path가 ['dir_A', 'dir_B', 'dir_C'] 라고 가정했을때, import client이라는 코드를 만나면 Python은 먼저 dir_A 디렉터리 내에서 client 모듈을 찾는다.

찾으면 import를 하고, 없으면 dir_B, dir_C를 검색해보고, 그래도 없으면 ModuleNotFoundError 예외를 발생시킨다.

 

sys.path는 언제 만들어질까?

- 먼저 최초 실행된 Python 스크립트가 위치한 디렉토리를 더한다. 이때 interactive shell(python or python3)으로 실행된 경우는 ''(빈 스트링)을 사용한다.

- 환경 변수중 PYTHONPATH의 값을 가져온다.

- OS나 Python 배포판이 설정해 둔 값들을 더한다.

위와같이 sys.path의 값을 출력할 수 있다.

반응형