Jak zaimportować qgis.core do aplikacji Python?


11

Jestem nowy w Pythonie. Chcę utworzyć aplikację GIS za pomocą Pythona za pomocą biblioteki QGIS w 64-bitowym systemie Windows 7.

Sposób w jaki to robię:

zainstaluj QGIS 1.7.0

  • Ustawiam PYTHONPATH = D: \ Program Files (x86) \ Quantum GIS Wrocław \ apps \ qgis \ python
  • Uruchamiam python z cmd w D: \ Program Files (x86) \ Quantum GIS Wrocław \ bin
  • Piszę import qgis.core, pojawi się wyskakujące okno z tekstem

Program nie może zostać uruchomiony, ponieważ w komputerze brakuje pliku qgis_core.dll. Spróbuj ponownie zainstalować program, aby rozwiązać ten problem

a tekst w cmd to

ImportError: ładowanie DLL nie powiodło się: nie można znaleźć określonego modułu.

Czy ktoś może mi pomóc?

Odpowiedzi:



5

Musisz zweryfikować dwie rzeczy:

PYTHONPATH

PYTHONPATH jest ustawiony dla uruchamianego cmd. Oznacza to, że musisz ustawić go globalnie w swoim systemie

Przejdź do Panelu sterowania -> System-> Zaawansowane.

Kliknij przycisk „Zmienne środowiskowe”.

W wyświetlonym panelu „Zmienne systemowe” kliknij Nowy i wpisz PYTHONPATH w polu „Nazwa zmiennej”. W polu „Wartość zmiennej” wprowadź ścieżkę do QGIS.

Lub możesz ustawić go bezpośrednio w wierszu polecenia cmd tuż przed uruchomieniem interpretera Pythona za pomocą:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

ŚCIEŻKA

Biblioteka DLL, która będzie używana przez moduł python qgis, musi znajdować się na twojej ścieżce. Tak jak ustawiłeś PYTHONPATH powyżej, ustaw zmienną środowiskową PATH, tak aby zawierała katalog, w którym znajduje się qgis_core.dll.

Katalog do dodania to prawdopodobnie D: \ Program Files (x86) \ Quantum GIS Wrocław \ apps \ qgis Ale sprawdź, czy qgis_core.dll naprawdę tam jest.

OSGEO4W

Jak sugerowano w innej odpowiedzi, OSGEO4W instaluje i konfiguruje wszystko za Ciebie. Zainstaluje jednak innego Pythona, co może komplikować sytuację, gdy chcesz zainstalować moduły Pythona innych firm, niedostępne w OSGEO4W.

Równie dobrze otrzymasz najnowszą wersję QGIS, czyli 1.7.4 (wkrótce 1.8).


1
Powinieneś zatem zaakceptować moją odpowiedź: meta.stackexchange.com/questions/5234/…
— Vincent

1

Jeśli chcesz utworzyć samodzielną aplikację, powinieneś użyć kopii qgis.bat w% OSGEO4W_ROOT% \ bin jako szablonu i zastąpić wywołanie qgis wywołaniem python (lub pythonw ze skryptem aplikacji). Będziesz wtedy miał pytona działającego w środowisku podobnym do QGIS.

Innymi słowy: kopiowanie qgis.batw D:\Program Files (x86)\Quantum GIS Wroclaw\bincelu myqgisapp.bati zastąpić ostatni wiersz w egzemplarzu

uruchom „Quantum GIS” / B ”% OSGEO4W_ROOT%” \ apps \ qgis \ bin \ qgis.exe% *

z

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

Uwaga: pythonw.exenie otworzy osobnego okna tekstowego, ale printnie będzie działać (jeśli potrzebujesz, użyj python.exe).


Dzięki. Ale możesz mi pokazać jakiś krok? Jestem taki zdezorientowany
— newToAndroid

Nie mam 15 reputacji, aby głosować na twoją odpowiedź. Mimo wszystko dziekuję. : D
— newToAndroid

0

Oprócz odpowiedzi Vincenta (którą uważam za poprawną) należy zauważyć, że ścieżka do qgis_core.dll w zmiennej środowiskowej PATH powinna znajdować się na pierwszym miejscu na liście.

Zanim się tego dowiedziałem, utknąłem z opisanym problemem w instalacji QGIS 2.0.1 OSGeo4W.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.