이전에 대답 해본 적이 있지만 검색 프로세스를 정확하게 설명하는 스레드를 찾을 수 없었습니다. 내가 틀렸다면 사과한다. I파이썬의 경로 검색
정확히은 모듈 검색을 위해 검색 프로세스 인 파이썬이 무엇입니까? 어떤 경로은 어떤 순서로 간주됩니까? (예를 들어, sys.path
PYTHONPATH
대 정의는 site-packages
등)
나는 코멘트, 다음에서 제공 the link의 정보 아래에 복사, 그러나 나는 다음과 같은 질문이 있습니다
installation-dependent
기본이 정확히 무엇입니까?- 가상 환경이
virtualenv
또는conda
인 경우 어떻게됩니까?
모듈 이름이 스팸 메일을 가져 오면, 인터프리터 첫번째 검색 해당 이름을 가진 내장 모듈 . 찾지 못하면 변수 sys.path로 지정된 디렉토리 목록에서 spam.py라는 파일을 검색합니다. sys.path는 다음 위치에서 초기화됩니다.
- 입력 스크립트 (또는 현재 디렉토리)가 포함 된 디렉토리.
PYTHONPATH
(쉘 변수PATH
과 동일한 구문의 디렉토리 이름 목록).- 설치 별 기본값.
초기화 후 Python 프로그램은
sys.path
을 수정할 수 있습니다. 실행중인 스크립트가 들어있는 디렉토리는 검색 경로의 시작 부분에 표준 라이브러리 경로보다 앞에 배치됩니다 ( ). 즉, 이라는 의미이며 해당 디렉토리의 스크립트는 라이브러리 디렉토리에 동일한 이름 인 의 모듈 대신로드됩니다. 대체가 아니라면 오류입니다. 자세한 내용은 표준 모듈을 참조하십시오 ( ).
[이 질문] (http://stackoverflow.com/questions/9586630/python-paths-and-import-order)에서 [이 링크] (https://docs.python.org/2)를 발견했습니다. /tutorial/modules.html#the-module-search-path)를 참조하십시오. – Celeo
고마워요 @Celeo OP를 업데이트했습니다. – Josh
몇 년 전 pycon에서 가져 오기가 어떻게 작동하는지 [좋은 비디오] (http://pyvideo.org/video/1707/how-import-works)가 있습니다. – Silfheed