[python] PYTHONPATH에 디렉토리를 영구적으로 추가 하시겠습니까?

를 사용할 때마다 sys.path.append새 디렉토리가 추가됩니다. 그러나 일단 파이썬을 닫으면 목록이 이전 (기본값?) 값으로 돌아갑니다. 디렉토리를 PYTHONPATH어떻게 영구적으로 추가 합니까?



답변

이전 디렉토리와 PYTHONPATH콜론으로 구분 하여 환경 변수에 새 디렉토리를 추가해야합니다 . 유닉스의 모든 형태에서, 당신은 사용중인 쉘 ( .profile또는 좋아하는 쉘에 따라)에 해당하는 시작 스크립트에서 해당 쉘 에 의존하는 명령으로이를 수행 할 수 있습니다. Windows에서는 시스템 GUI를 통해이를 수행 할 수 있습니다.

superuser.com 선택한 플랫폼과 셸에서 환경 변수를 강화하는 방법에 대한 세부 정보가 필요한 경우 자세한 내용을 문의하는 것이 좋습니다. 실제로 프로그래밍 문제가 아니기 때문입니다.


답변

bash (Mac 또는 GNU / Linux 배포판)를 사용하는 경우 bash를 ~/.bashrc

export PYTHONPATH="${PYTHONPATH}:/my/other/path"


답변

조작하는 대신 경로 구성 파일을PYTHONPATH 만들 수도 있습니다 . 먼저 파이썬이이 정보를 검색하는 디렉토리를 찾으십시오.

python -m site --user-site

어떤 이유로 파이썬 2.7에서는 작동하지 않는 것 같습니다. 거기에서 사용할 수 있습니다 :

python -c 'import site; site._script()' --user-site

그런 다음 .pth추가하려는 경로가 포함 된 디렉토리에 파일을 작성하십시오 (없는 경우 디렉토리 작성).

예를 들면 다음과 같습니다.

# find directory
SITEDIR=$(python -m site --user-site)

# create if it doesn't exist
mkdir -p "$SITEDIR"

# create new .pth file with our path
echo "$HOME/foo/bar" > "$SITEDIR/somelib.pth"


답변

이것은 Windows에서 작동합니다

  1. Windows에서는 Python 2.7을 사용하여 Python 설정 폴더로 이동하십시오.
  2. Lib / site-packages를여십시오.
  3. 이 폴더에 example.pth 빈 파일을 추가하십시오.
  4. 파일에 필요한 경로를 한 줄에 하나씩 추가하십시오.

그런 다음 스크립트에서 해당 경로 내의 모든 모듈을 볼 수 있습니다.


답변

여전히 혼란 스러울 경우-Mac 사용자 인 경우 다음을 수행하십시오.

  1. 터미널을여십시오
  2. 유형 open .bash_profile
  3. 나타나는 텍스트 파일에서 끝에 다음 줄을 추가하십시오.
    export PYTHONPATH=$PYTHONPATH:foo/bar
  4. 파일을 저장하고 터미널을 다시 시작하면 완료

답변

pythonrc 파일을 통해 경로를 추가 할 수 있으며 Linux의 경우 ~ / .pythonrc가 기본값입니다. 즉.

import sys
sys.path.append('/path/to/dir')

당신은 또한 설정할 수 PYTHONPATH등 글로벌 rc 파일에 환경 변수를 ~/.profile맥이나 리눅스, 또는 제어판을 통해 -> 시스템 -> 고급 탭 -> 창에 환경 변수.


답변

(언급 한 바와 같이 조금 더 설명을 제공하기 위해, 파이썬은 자동으로 검색 경로를 구성합니다 이상여기 사용) site.py(일반적으로 sys.prefix +에있는 스크립트 lib/python<version>/site-packages뿐만 아니라 lib/site-python). sys.prefix의 값을 얻을 수 있습니다.

python -c 'import sys; print(sys.prefix)'

site.py 스크립트는 다음과 같은 플랫폼에 의존 디렉토리의 숫자를 추가 /usr/{lib,share}/python<version>/dist-packages, /usr/local/lib/python<version>/dist-packages검색 경로 이러한 경로 검색 <package>.pth특정 추가 검색 경로를 포함 할 경우 구성 파일을. 예를 들어, easy-install 은 시스템 특정 파일에 추가 된 설치된 패키지 모음을 유지 관리합니다 (예 : Ubuntu it ‘s) /usr/local/lib/python2.7/dist-packages/easy-install.pth. 일반적인 시스템에는 sys.path의 예기치 않은 경로를 설명 할 수있는이 .pth 파일이 많이 있습니다.

python -c 'import sys; print(sys.path)'

따라서 .pth 파일을 만들고이 디렉토리 ( 위에서 언급 sitedir 포함) 중 하나에 넣을 수 있습니다 . 이것은 PYTHONPATH를 사용하는 대신 대부분의 패키지가 sys.path에 추가되는 방식 인 것 같습니다.

참고 : OSX에는 ‘framework builds’에 대해 site.py에 의해 추가 된 특별한 추가 검색 경로가 있습니다 (그러나 파이썬의 일반적인 명령 행 사용에서는 작동하는 것 같습니다) : /Library/Python/<version>/site-packages(예 : Python2.7 🙂 /Library/Python/2.7/site-packages/이것은 타사 패키지가있는 곳입니다. 설치 될 것입니다 (해당 디렉토리의 README 참조). 따라서 추가 검색 경로가 포함 된 경로 구성 파일을 추가 할 수 있습니다. 예 /Library/Python/2.7/site-packages/pip-usr-local.pth를 들어 /usr/local/lib/python2.7/site-packages/, 포함 하는 파일을 만든 다음 시스템 파이썬은 해당 검색 경로를 추가합니다.