$PYTHONPATH와 sys.path가 일치하지 않는 것 같습니다.

$PYTHONPATH와 sys.path가 일치하지 않는 것 같습니다.

폴더를 영구적으로 추가하고 싶지만 sys.path작동하지 않습니다.

내 Debian Stretch에서 다음을 실행할 때:

$ echo $PYTHONPATH

텅 빈 것 같아

동시에 의 내용을 인쇄할 때 에 포함된 (그리고 분명히 ) sys.path경로와 동일하지 않은 10개의 다른 경로가 있습니다 . 어떻게 설명할 수 있나요?$PATH$PYTHONPATH

(프레임워크용 virtualenv를 만들어야 했지만 지금은 사용하고 있지 않은 것 같아서 관련이 없을 수도 있지만 해당 개념이 불편해서 뭔가 놓쳤을 수도 있습니다)

또한 다음 줄을 알 수 있도록 .bashrc경로를 추가하도록 수정하려고 했습니다 .$PYTHONPATH

PYTHONPATH=$PYTHONPATH:~/bin 

재부팅 후에는 작동합니다. 즉, $PYTHONPATH에 해당 내용이 포함되어 있지만 sys.path.

또한 $ env | grep ^PYTHON아무것도 반환하지 않습니다.

그러면 어떻게 sys.path채워지며 폴더를 영구적으로 추가하려면 어떻게 해야 합니까?

답변1

sys.pathPython에서 "모듈의 검색 경로를 지정하는 문자열 목록입니다. 환경 변수 PYTHONPATH와 설치에 따른 기본값에서 초기화됩니다." (에서 가져옴Python 온라인 문서).

sys.path의 영향을 받으려면 후자 PYTHONPATH가 환경 변수여야 합니다. 환경 변수가 아니고 단지 쉘 변수라면 인터프리터에서는 볼 수 없습니다 python. 다음과 같이 값을 설정한 후 또는 동시에 내보내 환경 변수로 전환합니다.

export PYTHONPATH=/some/path:/goes/here

관련 정보