[Python] import

김명섭·2024년 4월 22일

[Python]

목록 보기
7/11

1. import 원리

https://blog.naver.com/jodi999/221587892970 자세한 내용은 링크 참고
import는 다음과 같은 3단계로 이루어진다.

  • 모듈 파일 찾기
    모듈을 처음 부를 때만 실행됨 다시 import 할 땐 이미 수행된 상태에서 가져오기만 함.
    즉, sys.modules 에서 해당 모듈이 불러와져있는지를 확인하고, 없으면 3단계를 거친다.
    이 때, 포준 모듈 검색 경로(module search path)를 사용하고 밑에서 자세히 다룬다.
  • (필요하면) byte 코드로 컴파일
    python 버전 번호와 파일 수정 시간을 모두 검사하고, 전자는 magic 번호, 후자는 timestamps 를 사용한다.
  • 정의한 객체를 구축하기 위해 모듈 코드를 실행
    모듈은 처음 import 시 실행된다. 다시 import를 해야한다면 importlib.reload를 이용해서 강제로 부를 수도 있다.

2. Module Search Path

https://dsaint31.tistory.com/528#google_vignette 자세한 내용은 링크 참고
python은 다음의 순서대로 module을 우선 검색한다.

  • home directory of the program(main script file 위치 or python shell이 수행된 cwd)
  • PYTHONPATH 환경변수(os.environment에서 확인 가능)에 지정된 directory 및 zip파일
  • python standard library directories
  • .pth(path config file)에 기재된 path
  • third party 라이브러리 들의 site-packages 디렉토리
profile
ML Engineer

0개의 댓글