Après avoir créé et activé votre virtualenv:
virtualenv --no-site-packages env
source env/bin/activate
pip install [your libs]
Vous devez définir la variable d'environnement PYTHONPATH sur le chemin d'installation python de votre QGIS.
veuillez changer [qgispath] pour le chemin de votre qgis:
export PYTHONPATH=/[qgispath]/share/qgis/python
il sera également nécessaire de définir LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/[qgispath]/lib
pour éviter cette erreur
>>> import qgis.core
ImportError: libqgis_core.so.1.5.0: cannot open shared object file: No such file or directory
Votre chemin python n'est défini que pour virtualenv et pour votre session. Si vous souhaitez le définir automatiquement sous ce virtualenv, vous pouvez créer un fichier sous
env/lib/python2.7/site-packages
avec un fichier .pth.
Le moyen le plus pratique consiste à ajouter un fichier de configuration de chemin d'accès à un répertoire qui se trouve déjà sur le chemin d'accès de Python, généralement dans le répertoire ... / site-packages /. Les fichiers de configuration de chemin ont une extension .pth, et chaque ligne doit contenir un seul chemin qui sera ajouté à sys.path. (Étant donné que les nouveaux chemins sont ajoutés à sys.path, les modules des répertoires ajoutés ne remplaceront pas les modules standard. Cela signifie que vous ne pouvez pas utiliser ce mécanisme pour installer des versions fixes de modules standard.) Source
pour créer et remplir le fichier, utilisez une commande comme celle-ci:
cat > [yourVirtualEnv]/lib/python2.7/site-packages/qgispythonpath.pth << /[qgispath]/share/qgis/python
Trouvé dans le livre de recettes Python Qgis, et un ensemble de réponses associé pythonpath