Comment importer qgis.core dans l'application Python?

11

Je suis nouveau sur Python. Je veux créer une application SIG avec Python à l'aide de la bibliothèque QGIS sur Windows 7 64 bits.

La façon dont je le fais:

installer QGIS 1.7.0

  • J'ai défini PYTHONPATH = D: \ Program Files (x86) \ Quantum GIS Wroclaw \ apps \ qgis \ python
  • J'exécute python à partir de cmd dans D: \ Program Files (x86) \ Quantum GIS Wroclaw \ bin
  • Je tape import qgis.core, une fenêtre contextuelle apparaît avec du texte

Le programme ne peut pas démarrer car qgis_core.dll manque sur votre ordinateur. Essayez de réinstaller le programme pour résoudre ce problème

et le texte en cmd est

ImportError: échec du chargement de la DLL: le module spécifié est introuvable.

Quelqu'un peut-il m'aider?

nouveauToAndroid
la source

Réponses:

5

Vous devez vérifier deux choses:

PYTHONPATH

Le PYTHONPATH est défini pour la cmd que vous lancez. Cela signifie que vous devez le configurer globalement sur votre système

Allez dans Panneau de configuration -> Système -> Avancé.

Cliquez sur le bouton «Variables d'environnement».

Dans le panneau "Variables système" qui apparaît, cliquez sur Nouveau et entrez PYTHONPATH dans le champ "Nom de variable". Dans le champ «Valeur variable», entrez le chemin d'accès à QGIS.

Ou vous pouvez le définir directement sur la ligne de commande cmd juste avant de lancer l'interpréteur python avec:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

CHEMIN

La DLL qui sera utilisée par le module qgis python doit être dans votre chemin. Tout comme vous avez défini le PYTHONPATH ci-dessus, définissez la variable d'environnement PATH afin qu'elle contienne le répertoire où se trouve qgis_core.dll.

Le répertoire à ajouter est probablement D: \ Program Files (x86) \ Quantum GIS Wroclaw \ apps \ qgis Mais vérifiez que qgis_core.dll est vraiment là.

OSGEO4W

Comme cela a été suggéré dans une autre réponse, OSGEO4W installe et configure tout pour vous. Il installera cependant un autre Python, ce qui peut compliquer les choses lorsque vous souhaitez installer des modules Python tiers non disponibles dans OSGEO4W.

Vous obtiendrez également la dernière version de QGIS, qui est 1.7.4 (1.8 bientôt disponible).

Vincent
la source
1
Vous devriez alors accepter ma réponse: meta.stackexchange.com/questions/5234/…
Vincent
1

Si vous souhaitez créer une application autonome, vous devez utiliser la copie qgis.bat dans% OSGEO4W_ROOT% \ bin comme modèle et remplacer l'appel à qgis par un appel à python (ou pythonw avec votre script d'application). Vous aurez alors un python exécuté dans un environnement similaire à QGIS.

En d' autres termes: copier qgis.batdans D:\Program Files (x86)\Quantum GIS Wroclaw\binla myqgisapp.batet remplacer la dernière ligne de la copie

démarrer "Quantum GIS" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ qgis.exe% *

avec

lancez "My Quantum GIS App" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ pythonw.exe L: \ path \ to \ your \ python \ app.py

Remarque: pythonw.exen'ouvrira pas une fenêtre de texte séparée, mais printne fonctionnera pas (si vous en avez besoin, utilisez python.exe).

jef
la source
Merci. Mais pouvez-vous me montrer une étape? Je suis tellement confus
newToAndroid
Je n'ai pas 15 points de réputation pour voter votre réponse. Merci quand même. : D
newToAndroid
0

En dehors de la réponse de Vincent (que j'ai trouvée correcte), il est important de noter que le chemin d'accès à qgis_core.dll dans la variable d'environnement PATH devrait venir en premier dans la liste.

Avant de découvrir cela, j'ai été bloqué avec le problème décrit dans une installation de QGIS 2.0.1 OSGeo4W.

Jan Šimbera
la source