파이썬은 패키지나 모듈을 찾아올 떄 순서대로 찾아온다.
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 에러를 리턴한다.
파이썬은 스크립트 실행시 PYTHONPATH,환경설정,변수,위의 모듈들을 순차적으로 실행한다. 이러한 3RD파티는 설치시 자동으로 절대경로(""STRING타입)가 성정되어서 찾기 쉽다.