[python] Python 스크립트에서 PYTHONPATH를 어떻게 설정합니까?

내 / etc / profile 및 내 환경 변수에서 설정하는 방법을 알고 있습니다.

하지만 스크립트 중에 설정하려면 어떻게해야합니까? import os, sys입니까? 어떻게하나요?



답변

설정하지 않고 PYTHONPATH에 항목을 추가합니다 sys.path. Python 패키지를 검색해야하는 디렉토리 목록이므로 해당 목록에 디렉토리를 추가하기 만하면됩니다.

sys.path.append('/path/to/whatever')

실제로 는 경로 구분 문자 ( Linux 계열 시스템, Windows)에서 sys.path의 값을 분할하여 초기화됩니다 .PYTHONPATH:;

을 사용하여 디렉토리를 추가 할 수도 있으며이 site.addsitedir방법은 .pth전달하는 디렉토리 내에 존재하는 파일 도 고려 합니다. (에서 지정한 디렉토리에는 해당되지 않습니다 PYTHONPATH.)


답변

다음을 통해 환경 변수를 가져오고 설정할 수 있습니다 os.environ.

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

그러나 통역사가 이미 실행 중이므로 아무 효과가 없습니다. 사용하는 것이 좋습니다

import sys
sys.path.append("...")

이것은 PYTHONPATH인터프리터 시작시 변환 될 배열입니다 .


답변

sys.path.append('dir/to/path')체크하지 않고 넣어두면 이미 추가되어 있으면 sys.path. 이를 위해 다음을 권장합니다.

import sys
import os # if you want this directory

try:
    sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
    sys.path.append('/dir/path') # Or os.getcwd() for this directory


답변

PYTHONPATH는 런타임에 수정할 수 있는 sys.path로 끝납니다 .

import sys
sys.path += ["whatever"]


답변

당신은 설정할 수 있습니다 PYTHONPATH하여 os.environ['PATHPYTHON']=/some/path, 다음 호출 할 필요가 os.system('python')새로 추가 된 경로가 효과적으로 만들 수있는 파이썬 쉘을 다시 시작합니다.


답변

나는 리눅스도 작동합니다.

import sys
sys.path.extend(["/path/to/dotpy/file/"])


답변