내 virtualenv에서 QGIS 모듈에 액세스하는 방법


12

Ubuntu 14.4를 실행 중이며 Python 가상 환경을 설치했습니다. 그런 다음 여러 파이썬 라이브러리 (gdal, lxml, psycopg2 등)를 설치했습니다.

또한 내 시스템에는 QGIS 용 모듈이 있습니다. 파이썬을 입력하면이 모듈을 다음과 같이 가져올 수 있습니다.

import qgis.core

그러나 virtualenv를 통해 동일한 작업을 수행하려고하면 오류가 발생합니다. 모듈을 찾을 수 없습니다.

virtualenv를 만들 때 옵션으로 수행했습니다.

virtualenv --no-site-packages env

어느 것이 내 환경을 시스템의 환경에서 제한합니다. 질문은 virtualenv에서 QGIS 모듈에 액세스하는 방법입니다.


1
도움 될 수 있습니다. 아직 직접 시도하지 않았습니다.
Nate Wanner

1
도움 될 수도 있습니다. 직접 시도하지 않았습니다.
Matthias Kuhn

답변:


1

virtualenv를 작성하고 활성화 한 후 :

virtualenv --no-site-packages env
source env/bin/activate
pip install [your libs]

PYTHONPATH 환경 변수를 QGIS의 python 설치 경로에 정의해야합니다.

[qgispath]를 qgis 경로로 변경하십시오 :

export PYTHONPATH=/[qgispath]/share/qgis/python

LD_LIBRARY_PATH를 설정해야합니다.

export LD_LIBRARY_PATH=/[qgispath]/lib

이 오류를 방지하기 위해

>>> import qgis.core
ImportError: libqgis_core.so.1.5.0: cannot open shared object file: No such file or directory

pythonpath는 virtualenv 및 세션에 대해서만 설정됩니다. 이 virtualenv에서 자동으로 설정하려면 env/lib/python2.7/site-packages.pth 파일을 사용하여 파일을 만들 수 있습니다 .

가장 편리한 방법은 경로 구성 파일을 이미 Python의 경로에있는 디렉토리, 일반적으로 ... / site-packages / 디렉토리에 추가하는 것입니다. 경로 구성 파일의 확장자는 .pth이며 각 행에는 sys.path에 추가 될 단일 경로가 포함되어야합니다. (새 경로가 sys.path에 추가 되었기 때문에 추가 된 디렉토리의 모듈은 표준 모듈을 재정의하지 않습니다. 따라서 고정 버전의 표준 모듈을 설치하는 데이 메커니즘을 사용할 수 없습니다.) source

파일을 작성하고 채우려면 다음과 같은 명령을 사용하십시오.

cat > [yourVirtualEnv]/lib/python2.7/site-packages/qgispythonpath.pth << /[qgispath]/share/qgis/python

Python Qgis 요리 책 및 관련 답변 세트 pythonpath에 있습니다.

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