[TIL] sys.modules & sys.path

dustjd1535·2020년 8월 24일
0

파이썬은 패키지나 모듈을 찾아올 떄 순서대로 찾아온다.

sys.modules > built-in modules > sys.path

1. sys.module

파이썬이 모듈이나 pakage를 찾기위해 가장 먼저 확인하는 곳입니다.
sys.modules는 단순한 dictionary 이다. 그리고 이미 import된 모듈과 package들을 저장하고 있다. 즉, 한번 import된 모듈과 package들은 파이썬이 또 다시 찾지 않아도 되도록 하느 기능을 가지고 있다. 그러므로 새로 import하는 모듈은 sys.modules에서 찾을 수 없다.

2. sys.path

파이썬에서 package나 module을 찾을 떄 마지막으로 찾는 장소가 sys.path 이다.
sys.path는 기본적으로 string 요소들을 갖고있는 list 이다.
sys.path에서도 모듈을 발견하지 못하면 ModuleNotFoundError 에러를 리턴한다.

  • 파이썬은 sys 모듈의 위치를 어떻게 찾는가?

파이썬은 스크립트 실행시 PYTHONPATH,환경설정,변수,위의 모듈들을 순차적으로 실행한다. 이러한 3RD파티는 설치시 자동으로 절대경로(""STRING타입)가 성정되어서 찾기 쉽다.

profile
더 나은 개발자가 되자.

0개의 댓글