PYTHONPATH 환경 변수


19

나는 이것을 내 안에있다 ~/.profile:

export PYTHONPATH=/home/dev/python-files

에서 python-files디렉토리, 나는 자식 허브 (플라스크, curveship 및 PY-vgdl)에서 복제 된 몇 가지 프로젝트를 가지고있다.

이 프로젝트에서 예제를 시작하려고 할 때마다 다음과 유사한 오류가 발생합니다.

$ python ~/python-files/py-vgdl/examples/gridphysics/frogs.py 
Traceback (most recent call last):
    File "/home/dev/python-files/py-vgdl/examples/gridphysics/frogs.py", line 67, in <module>
        from vgdl.core import VGDLParser
ImportError: No module named vgdl.core

PYTHONPATH환경 변수가 설정되어 있기 때문에이 오류가 발생해서는 안되는 것 같습니다 .

파이썬 대화식 인터프리터 실행

>>> import os
>>> os.environ["PYTHONPATH"]
'/home/dev/python-files'

답변:


35

PYTHONPATH를 완전히 덮어 쓰지 말고 추가하십시오.

export PYTHONPATH=$PYTHONPATH:/home/dev/python-files

참고 문헌 :

PYTHONPATH에 대한 파이썬 문서에 따르면

모듈 파일의 기본 검색 경로를 보강하십시오. [...]

기본 검색 경로는 설치에 따라 다르지만 일반적으로 시작합니다 prefix/lib/pythonversion( PYTHONHOME위 참조 ). 그것은되어 항상 추가 PYTHONPATH.

이는 일부 값이 존재 PYTHONPATH하고 기본 검색 경로도 추가됨을 의미합니다.

또한 이 블로그 게시물 ( Archive.org 링크 )에는 추가하거나 PYTHONPATH덮어 쓸 필요가 없는 이유가 명확하게 설명 되어 있습니다. 섹션 아래로 스크롤- 특수한 경우와 검색 경로를 검사하면 명확하게 설명됩니다 (불행히도 해당 링크에 대한 상대 URL이 없으므로 스크롤해야 함). 사용자는 Mac에서 예제를 제공하지만 모든 플랫폼과 매우 관련이 있습니다.


1
@Garrett Thanks :) Archive.org 링크로 업데이트되었습니다.
Nitin Venkatesh 2016 년

아카이브 / 스테레오 플렉스 링크의 경우 +1 공식 파이썬 문서의 첫 페이지에 있어야하는 많은 질문에 대답합니다!
Malik A. Rumi

5

다음과 같이 할 수도 있습니다.

export PYTHONPATH=$(pwd) **or** export PYTHONPATH=${PWD}

pwd는 현재 작업 디렉토리입니다.


이 과정에서 PYTHONPATH를 덮어 씁니다. PYTHONPATH에 pwd를 추가하려면 :export PYTHONPATH=$PYTHONPATH:$(pwd)
jackw11111

4

PYTHONPATH결제가 아닌 Python 패키지 및 모듈이있는 위치를 가리켜 야합니다. 당신이 할 경우 즉, ls "$PYTHONPATH"당신은 볼 수 *.py파일 ( Python 모듈 ) 및 들어있는 디렉토리에 __init__.py파일을 ( 파이썬 패키지 ).

당신이 수에있을 싶다면, import vgdl당신은 PYTHONPATH다음과 같아야합니다 :

PYTHONPATH=/home/dev/python-files/py-vgdl

vgdl 패키지 가 내부 py-vgdl가 아니라 내부에 있기 때문 python-files입니다.

다른 경로도 추가하려면 경로 :를 구분하는 데 사용할 수 있습니다.

PYTHONPATH="/home/dev/python-files/py-vgdl:/home/dev/python-files/something:$PYTHONPATH"

그러나 실제로 이러한 경우에는 사용 PYTHONPATH이 너무 복잡 할 수 있습니다. 내가 추천 virtualenv하는 것은 귀하와 같은 상황을 단순화하기 위해 의도적으로 작성된 을 사용 하는 것입니다. 당신이해야 할 일은 기본적으로 :

  1. 환경을 만듭니다. virtualenv env
  2. '활성화': source env/bin/activate
  3. 패키지 설치 : 패키지의 pip또는 setup.py스크립트를 사용하여 수행 할 수 있습니다 .
  4. 즐겨.

virtualenv가 잘 문서화 되어 있기 때문에 많은 정보를 제공하지 않으며 무언가 도움이 필요하면 새로운 질문을 여는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.