Come accedere al modulo QGIS dal mio virtualenv


11

Sto eseguendo Ubuntu 14.4 e ho installato un ambiente virtuale Python. Quindi ho installato diverse librerie Python (gdal, lxml, psycopg2 ecc.)

Anche nel mio sistema ho il modulo per QGIS. Quindi quando scrivo python posso importare questo modulo come:

import qgis.core

Ma quando provo a fare lo stesso attraverso il mio virtualenv ricevo un errore: modulo non trovato.

Quando ho creato virtualenv ho fatto con l'opzione:

virtualenv --no-site-packages env

Il che limita il mio env dall'env del sistema. La domanda è: come accedere al modulo QGIS nel mio virtualenv?


1
Questo potrebbe aiutare. Non l'ho ancora provato da solo.
Nate Wanner,

1
Questo potrebbe anche aiutare. Non l'ho provato da solo.
Matthias Kuhn,

Risposte:


1

Dopo aver creato e attivato virtualenv:

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

Devi definire la variabile di ambiente PYTHONPATH sul percorso di installazione di Python di QGIS.

cambia [qgispath] nel percorso del tuo qgis:

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

sarà inoltre necessario impostare LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/[qgispath]/lib

per prevenire questo errore

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

Il tuo pythonpath è impostato solo per virtualenv e per la tua sessione. Se si desidera impostarlo automaticamente in questo virtualenv, è possibile creare un file env/lib/python2.7/site-packagescon un file .pth.

Il modo più conveniente è aggiungere un file di configurazione del percorso a una directory che è già sul percorso di Python, di solito nella directory ... / site-pacchetti /. I file di configurazione del percorso hanno un'estensione di .pth e ogni riga deve contenere un singolo percorso che verrà aggiunto a sys.path. (Poiché i nuovi percorsi vengono aggiunti a sys.path, moduli nelle directory aggiunti non avranno la priorità i moduli standard. Questo significa che non è possibile utilizzare questo meccanismo per l'installazione di nuove versioni di moduli standard.) Fonte

per creare e popolare il file utilizzare un comando del genere:

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

Trovato nel ricettario di Python Qgis e un set di risposte correlato pythonpath

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.