본문 바로가기

Language

sys.modules과 built-in modules, sys.path의 구분

파이썬은 모듈/package를 
1. sys.modules
2. built-in modules
3. sys.path
순서 대로 찾음

1. sys.modules 와 sys.path의 차이점


sys.modules
- 파이썬이 제일먼저 모듈이나 패키지를 찾는곳 
- 딕셔너리구조
- import 되있는 모듈과 패키지 저장 (다시 찾지 않아도 됨)


sys.path
- 모듈과 패키지를 1,2를 찾고 마지막으로 sys.path를 찾음
- 리스트구조(string 요소)
- 처음의 리스트 요소부터 마지막까지 찾음
- 파이썬에 포함되어있는 built-in modules
sys.path에서도 모듈을 발견하지 못하면 ModuleNotFoundError 에러를 리턴

2. 파이썬은 sys 모듈의 위치를 어떻게 찾을 수 있을까요?
- 파이썬은 스크립트 실행시 PYTHONPATH, 환경설정, 변수, 위의 모듈들을 순차적으로 실행함 
- 이러한 3RD 파티는 설치시 자동으로 절대경로(""STRING타입)가 설정이되어 찾기 쉬움 

3. Absolute path와 relative path의 차이점
Absolute path
- 최상단 디렉토리를 기준으로 경로를 설정 (C:,D: 기준 부터 현재 실행 디렉토리까지)
- + 추가로 A:, B: 가 없는 이유는 옜날 컴퓨터에서 A:, B:에 플로피 디스크를 할당하고
- + 하드디스크는 C:, D:로 할당해서
relative path
- 현재의 프로젝트 실행디렉토리를 기준으로 경로를 설정

'Language' 카테고리의 다른 글

Django 키 컨셉 이해하기  (0) 2019.11.10