/
Search
Duplicate

PYTHONPATH 와 sys.path 의 차이는 무엇일까? PYTHONPATH 은 모든 가상환경에 공통적으로 적용되는 것이 맞을까? 가상환경마다 제어하는 것은 sys,.path 일까 PYTHONPATH 일까 둘 모두일까?

상태
해결되지 않은 궁금증
생성일
2021/07/23 09:09
관련태그
1 more property
참고
3.
import는 sys.path 리스트에 들어있는 경로들을 탐색하며 불러올 파이썬 파일을 찾습니다. 리스트에 들어있는 맨 처음 경로부터 탐색을 시작합니다. 특정 경로에서 불러올 파일을 찾았다면 남은 경로를 더 찾아보지 않고 탐색을 중지합니다 sys.path의 기본값은 이 문서 (python official)* 에서 언급한 순서대로 추가됩니다6: 1. .py 파일이 속한 디렉터리의 절대 경로 2. PYTHONPATH 환경 변수 3. 기타 기본 경로 이걸 보니까, 어? 혹시 가상환경이 가상환경에 속해있는 경로로 pip 설치를 강제하고, 가상환경 내부의 패키지나 모듈부터 먼저 탐색하는 방식으로 작동하는 것은 아닐까? 만약 완전히 분리를 시키고 싶다면 sys.path 만 조작해주면 되는 것이다. 또는 pythonpath 를 source 하는 순간 조작해 버리거나.. 검증이 필요하다.