Python에서 sys.path 초기화 살펴보기
Python의 sys.path 초기화 프로세스를 이해하는 것은 Python의 모듈 검색 경로를 이해하는 데 중요합니다. . PYTHONPATH가 이 초기화를 독점적으로 구동한다는 오해에도 불구하고 Python의 복잡한 알고리즘은 다양한 다른 소스의 요소입니다.
다음 단계에서는 이 프로세스를 설명합니다.
sys.executable, sys.exec_prefix 및 sys 초기화 .prefix
- Python은 운영 체제 정보를 기반으로 위치를 꼼꼼하게 식별하여 sys.executable의 실제 물리적 실행 파일 경로를 미러링합니다.
- 실행 파일의 pyvenv.cfg 파일 디렉터리 또는 한 수준 위에는 sys.prefix에 영향을 미치는 구성 옵션이 있습니다. 특히 홈 구성은 sys.executable이 포함된 기본 디렉터리를 재정의할 수 있습니다.
- PYTHONHOME 환경 변수가 존재하는 경우 이전에 설정된 sys.prefix 및 sys.exec_prefix 값을 재정의합니다.
- 실패 위의 조건에서 이러한 값은 sys.executable에서 뒤로 탐색하고 기호 링크나 랜드마크 파일을 찾아 디렉터리와 해당 접두사를 설정함으로써 파생됩니다.
sys.path 결정
초기화 후 작업
- 사이트 모듈이 로드되어 동적으로 추가됩니다. sys.prefix 및 sys.exec_prefix를 기반으로 하는 경로.
- 추가 sys.path 수정을 위해 추가된 경로 내에서 구성 파일을 검사합니다.
함정 및 중요 참고 사항
- 집 설정을 잘못함 = pyvenv.cfg에서 null sys.prefix 값이 발생하여 사전 컴파일된 기본값으로 대체될 수 있습니다.
- PYTHONHOME 환경 변수가 있으면 Linux 및 Mac에서 pyvenv.cfg 설정이 중단될 수 있습니다.
- Windows에 PYTHONHOME이 없고 pyvenv.cfg에 home = 가 없으면 대체 sys.prefix 값이 발생할 수 있습니다.
- sys.path 중에 sys.prefix가 확인되지 않은 상태로 남아 있는 경우 초기화가 완료되면 Windows는 랜드마크 파일을 자세히 검색하여 이를 결정합니다.
위 내용은 Python은 sys.path를 어떻게 초기화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!