Cómo acceder al módulo QGIS desde mi virtualenv

11

Estoy ejecutando un Ubuntu 14.4 y he instalado un entorno virtual de Python. Luego pip instalé varias bibliotecas de python (gdal, lxml, psycopg2, etc.)

También en mi sistema tengo el módulo para QGIS. Entonces, cuando escribo python, puedo importar este módulo como:

import qgis.core

Pero cuando trato de hacer lo mismo a través de mi virtualenv me sale un error: módulo no encontrado.

Cuando creé el virtualenv lo hice con la opción:

virtualenv --no-site-packages env

Lo que restringe mi env de la env del sistema. La pregunta es ¿cómo acceder al módulo QGIS en mi virtualenv?

usuario1919
fuente
1
Esto puede ayudar. No lo he probado yo todavía.
Nate Wanner
1
Esto también podría ayudar. No lo he probado yo mismo.
Matthias Kuhn el

Respuestas:

1

Después de crear y activar su virtualenv:

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

Debe definir la variable de entorno PYTHONPATH en la ruta de instalación de Python de su QGIS.

cambie [qgispath] a la ruta de su qgis:

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

también será necesario establecer LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/[qgispath]/lib

para evitar este error

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

Su pythonpath está configurado solo para virtualenv y para su sesión. Si desea configurarlo automáticamente bajo este virtualenv, puede crear un archivo env/lib/python2.7/site-packagescon un archivo .pth.

La forma más conveniente es agregar un archivo de configuración de ruta a un directorio que ya está en la ruta de Python, generalmente al directorio ... / site-packages /. Los archivos de configuración de ruta tienen una extensión de .pth, y cada línea debe contener una ruta única que se agregará a sys.path. (Debido a que los nuevos caminos se anexan a sys.path, módulos en los directorios añadidos no harán caso omiso de módulos estándar. Esto significa que no pueden utilizar este mecanismo para la instalación de versiones fijos de módulos estándar.) Fuente

para crear y llenar el archivo, use un comando como ese:

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

Se encuentra en el libro de cocina Python Qgis y una respuesta relacionada establece pythonpath

Hugo Roussaffa - GeoDatup
fuente