Wie importiere ich qgis.core in die Python App?

11

Ich bin neu in Python. Ich möchte eine GIS-App mit Python mithilfe der QGIS-Bibliothek unter Windows 7 64-Bit erstellen.

So wie ich es mache:

Installieren Sie QGIS 1.7.0

  • Ich habe PYTHONPATH = D: \ Programme (x86) \ Quantum GIS Wroclaw \ apps \ qgis \ python festgelegt
  • Ich führe Python von cmd in D: \ Programme (x86) \ Quantum GIS Wroclaw \ bin aus
  • Ich tippe import qgis.core, ein Popup-Fenster mit Text erscheint

Das Programm kann nicht gestartet werden, da qgis_core.dll auf Ihrem Computer fehlt. Versuchen Sie, das Programm neu zu installieren, um dieses Problem zu beheben

und Text in cmd ist

ImportError: DLL-Laden fehlgeschlagen: Das angegebene Modul wurde nicht gefunden.

Kann mir jemand helfen?

newToAndroid
quelle

Antworten:

4

Installieren Sie QGIS mit dem OSGeo4W-Installationsprogramm neu. Es ist bereits alles eingerichtet, was Sie für die Entwicklung benötigen. http://trac.osgeo.org/osgeo4w/

Maxim Dubinin
quelle
5

Sie müssen zwei Dinge überprüfen:

PYTHONPATH

Der PYTHONPATH ist für den Cmd eingestellt, den Sie starten. Dies bedeutet, dass Sie es global auf Ihrem System einstellen müssen

Gehen Sie zu Systemsteuerung -> System-> Erweitert.

Klicken Sie auf die Schaltfläche 'Umgebungsvariablen'.

Klicken Sie im angezeigten Bereich "Systemvariablen" auf "Neu" und geben Sie PYTHONPATH in das Feld "Variablenname" ein. Geben Sie im Feld 'Variablenwert' den Pfad zu QGIS ein.

Oder Sie können es direkt in der cmd-Befehlszeile festlegen, bevor Sie den Python-Interpreter starten mit:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

PFAD

Die DLL, die vom qgis-Python-Modul verwendet wird, muss sich in Ihrem Pfad befinden. Stellen Sie genau wie beim Festlegen von PYTHONPATH die Umgebungsvariable PATH so ein, dass sie das Verzeichnis enthält, in dem sich qgis_core.dll befindet.

Das Verzeichnis, das hinzugefügt werden soll, ist wahrscheinlich D: \ Programme (x86) \ Quantum GIS Wroclaw \ apps \ qgis. Überprüfen Sie jedoch, ob qgis_core.dll wirklich vorhanden ist.

OSGEO4W

Wie in einer anderen Antwort vorgeschlagen, installiert und richtet OSGEO4W alles für Sie ein. Es wird jedoch ein anderes Python installiert, was die Arbeit erschweren kann, wenn Sie Python-Module von Drittanbietern installieren möchten, die in OSGEO4W nicht verfügbar sind.

Sie würden auch die neueste QGIS-Version erhalten, nämlich 1.7.4 (1.8 in Kürze).

Vincent
quelle
1
Sie sollten meine Antwort dann akzeptieren: meta.stackexchange.com/questions/5234/…
Vincent
1

Wenn Sie eine eigenständige Anwendung erstellen möchten, sollten Sie die Kopie qgis.bat in% OSGEO4W_ROOT% \ bin als Vorlage verwenden und den Aufruf von qgis durch einen Aufruf von Python (oder Pythonw mit Ihrem Anwendungsskript) ersetzen. In einer ähnlichen Umgebung wie QGIS wird dann eine Python ausgeführt.

Mit anderen Worten: Kopieren qgis.batin D:\Program Files (x86)\Quantum GIS Wroclaw\binzu myqgisapp.batund die letzte Zeile in der Kopie ersetzen

Starten Sie "Quantum GIS" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ qgis.exe% *

mit

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

Hinweis: pythonw.exeÖffnet kein separates Textfenster, printfunktioniert aber nicht (falls erforderlich python.exe).

jef
quelle
Vielen Dank. Aber kannst du mir einen Schritt zeigen? Ich bin so verwirrt
newToAndroid
Ich habe keinen Ruf, um Ihre Antwort zu stimmen. Trotzdem danke. : D
newToAndroid
0

Abgesehen von Vincents Antwort (die ich für richtig befunden habe) ist es wichtig zu beachten, dass der Pfad zu qgis_core.dll in der Umgebungsvariablen PATH an erster Stelle in der Liste stehen sollte.

Bevor ich dies herausfand, war ich mit dem beschriebenen Problem in einer QGIS 2.0.1 OSGeo4W-Installation festgefahren.

Jan Šimbera
quelle