¿Cómo importar qgis.core a la aplicación Python?

11

Soy nuevo en Python. Quiero crear una aplicación SIG con Python usando la biblioteca QGIS en Windows 7 de 64 bits.

La forma en que hago:

instalar QGIS 1.7.0

  • Configuré PYTHONPATH = D: \ Archivos de programa (x86) \ Quantum GIS Wroclaw \ apps \ qgis \ python
  • Ejecuto Python desde cmd en D: \ Archivos de programa (x86) \ Quantum GIS Wroclaw \ bin
  • Escribo import qgis.core, aparece una ventana emergente con texto

El programa no puede iniciarse porque qgis_core.dll no se encuentra en su computadora. Intente reinstalar el programa para solucionar este problema.

y el texto en cmd es

ImportError: error de carga de DLL: no se pudo encontrar el módulo especificado.

¿Alguien puede ayudarme?

newToAndroid
fuente

Respuestas:

5

Tienes que verificar dos cosas:

RUTA DEL PITÓN

PYTHONPATH está configurado para el cmd que inicias. Esto significa que debe configurarlo globalmente en su sistema

Vaya a Panel de control -> Sistema-> Avanzado.

Haga clic en el botón 'Variables de entorno'.

En el panel 'Variables del sistema' que aparece, haga clic en Nuevo e ingrese PYTHONPATH en el campo 'Nombre de variable'. En el campo 'Valor variable' ingrese la ruta a QGIS.

O puede configurarlo directamente en la línea de comandos de cmd justo antes de iniciar el intérprete de python con:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

CAMINO

La DLL que utilizará el módulo qgis python debe estar en su ruta. De la misma manera que configuró el PYTHONPATH arriba, configure la variable de entorno PATH para que contenga el directorio donde se encuentra qgis_core.dll.

El directorio para agregar es probablemente D: \ Archivos de programa (x86) \ Quantum GIS Wroclaw \ apps \ qgis Pero verifique que qgis_core.dll esté realmente allí.

OSGEO4W

Como se sugirió en otra respuesta, OSGEO4W instala y configura todo para usted. Sin embargo, instalará otro Python, lo que puede complicar las cosas cuando desea instalar módulos Python de terceros que no están disponibles en OSGEO4W.

También debería obtener la última versión de QGIS, que es 1.7.4 (1.8 próximamente).

Vincent
fuente
1
Entonces deberías aceptar mi respuesta: meta.stackexchange.com/questions/5234/…
Vincent
1

Si desea crear una aplicación independiente, debe usar la copia qgis.bat en% OSGEO4W_ROOT% \ bin como plantilla y reemplazar la llamada a qgis con una llamada a python (o pythonw con su script de aplicación). Entonces tendrás una python ejecutándose en un entorno similar a QGIS.

En otras palabras: copiar qgis.baten D:\Program Files (x86)\Quantum GIS Wroclaw\bina myqgisapp.baty sustituir la última línea de la copia

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

con

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

Nota: pythonw.exeno abrirá una ventana de texto separada, pero printno funcionará (si lo necesita, use python.exe).

jef
fuente
Gracias. ¿Pero me puedes mostrar algún paso? Estoy tan confundido
newToAndroid 05 de
No tengo 15 reputación para votar tu respuesta. Gracias de todos modos. : D
newToAndroid
0

Además de la respuesta de Vincent (que encontré correcta), es importante tener en cuenta que la ruta a qgis_core.dll en la variable de entorno PATH debe ser la primera en la lista.

Antes de descubrir esto, me he quedado atrapado con el problema descrito en una instalación de QGIS 2.0.1 OSGeo4W.

Jan Šimbera
fuente