You are here:GeoTux»Geo-Blogs»Librerías para Geomática»Configurando el entorno de desarrollo para PyQGIS en Windows

Estadísticas

Invitados: 45
Usuarios registrados: 3118
Usuarios en línea:
-
Registrados hoy:

Registro

Redifusión (RSS)

Blogs y Noticias:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

Lunes 19 de Abril de 2010 06:01

Configurando el entorno de desarrollo para PyQGIS en Windows

Written by  German Carrillo
Rate this item
(2 votes)

Por si existen dudas, a continuación se muestran los pasos a seguir para empezar a desarrollar con la API de Python de Quantum GIS, en el sistema operativo Windows y sin emplear el instalador OSGeo4W.

Para desarrollar aplicaciones independientes de escritorio con PyQGIS se puede usar el paquete OSGeo4W, que configura variables de entorno y permite la instalación de diferentes librerías de manera centralizada. Después de instalar Quantum GIS con OSGeo4W se ejecuta la terminal de comandos de OSGeo4W y después de configurar variables de entorno, es posible ejecutar aplicaciones de PyQGIS. Ver la actualización del post para más detalles.

 

Si por alguna razón no se va a utilizar OSGeo4W (a mi por ejemplo, me gusta instalar cada paquete por separado para tener mayor control en la configuración) se deben seguir los siguientes pasos:

 

 

1. Instalar Quantum GIS

 

Instalar en el directorio raíz (C:\) el paquete Windows-Standalone prestando atención a las notas para instalación de librerías redistribuibles de Microsoft. Se recomienda la instalación en C:\ para evitar problemas posteriores relacionados con espacios en rutas.

 

2. Instalar Python

Instalar Python para Windows. Si bien Python ya ha alcanzado la versión 3, su implementación en los diferentes programas que lo utilizan se está llevando a cabo o está siendo planeado en la actualidad. Por tanto se deben mirar las versiones 2.x. Es recomendable descargar la versión 2.5.4 porque los módulos de PyQGIS (del instalador independiente) dependen de Python 2.5. Por defecto se instala en C:\Python25.

 

3. Instalar PyQt4

 

Instalar PyQt4 para Windows. Se debe descargar el archivo que corresponde a la versión instalada de Python (2.5.x), es decir, PyQt-Py2.5-gpl-4.7.3-1.exe.

 

4. Configurar variables de entorno

 

Para acceder a los módulos de Python y a las librerías de PyQGIS se requiere configurar variables de entorno. Hay diferentes maneras de hacerlo, mi favorita es escribir un archivo .bat con las siguientes líneas:

 

set PYTHONPATH=c:\qgis\python
set PATH=c:\qgis\bin;%PATH%

 

En el siguiente paso se hará uso del archivo creado.

 

5. Ejecutar la terminal de comandos de Windows (cmd)

 

Dirigirse desde la terminal de comandos a la carpeta que contiene el archivo .bat creado y ejecutarlo.

 

Ejecución archivo .bat

 

Ahora se ingresa a la consola de Python ejecutando la instrucción:

 

c:\python25\python.exe

 

Una vez allí, se importan las librerías de Quantum GIS y PyQt4 y se verifica que no se han obtenido errores:

 

>>from qgis.core import *
>>from qgis.gui import *
>>from PyQt4.QtCore import *
>>from PyQt4.QtGui import *

 

Importar librerías

 

 

6. Ejecutar aplicación de ejemplo

 

Ahora es posible ejecutar el visor de PyQGIS que se ha construido en blogs anteriores. NOTA: Para ejecutar el visor de PyQGIS en Windows será necesario cambiar el valor de la variable qgis_prefix del archivo principal de la aplicación para que apunte al directorio de Quantum GIS, es decir, debe quedar así: qgis_prefix = "c:\qgis"

 

Ejecución del visor de PyQGIS

 

Visor de PyQGIS

 

Eso es todo!

 

 

ACTUALIZACIÓN (2011/01/15): INSTRUCCIONES PARA EL ENTORNO DE DESARROLLO PARA PyQGIS USANDO OSGeo4W

 

Las instrucciones proporcionadas en este post funcionaron correctamente hasta la versión 1.4 de QGIS. Después, el instalador de QGIS para Windows cambió la estructura de directorios para las librerías (dll), por lo cual dichas instrucciones no permiten configurar el entorno de desarrollo para versiones de QGIS >= 1.5.

 

En todo caso, como alternativa para versiones recientes, a continuación se describe la configuración del entorno de desarrollo para PyQGIS usando el paquete OSGeo4W.

 

1. Descargar el instalador de OSGeo4W desde este enlace.

 

2. Instalar Quantum GIS: Se puede hacer desde la opción Express Install o Advanced Install. Al hacerlo, adicionalmente se instala Python y Qt4.

 

3. Abrir la terminal de OSGeo4W (OSGeo4W Shell): Esto puede hacerse desde el menú Inicio --> Programas --> OSGeo4W

 

4. Definir las variables de entorno PYTHONPATH y PATH: Una de las maneras de hacerlo es ejecutando desde la terminal de OSGeo4W un archivo .bat que puede descargarse desde este enlace.

 

OSGeo4W Shell

 

Este archivo define las variables de entorno así:

 

set PYTHONPATH=c:\OSGeo4W\apps\qgis\python
set PATH=c:\
OSGeo4W\apps\qgis\bin;%PATH%

 

 

5. Ejecutar Python desde la terminal e importar las librerías de Quantum GIS para Python. Si todo ha salido bien, no obtendremos errores.

 

OSGeo4W

 

Eso es todo!

 

Last modified on Martes 11 de Octubre de 2011 19:53

Comentarios  

 
0 # Problemas en la importacion de librerias.lerods 09-08-2010 16:53
Buen dia:

He empezado a seguir tu guí­a de desarrollo, pero ya tuve el primer problema, y ya llevo varios dias dando vueltas, pero no dado con la solución.
En el proceso de importación de librerí­as me genera este error:
>>> import qgis.core
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named qgis.core

He instalado varios varios paquetes de python, estoy trabajando con el 2.5 como lo indicas, y estoy en windows xp 64 bits, y estoy usando el paquete Windows-Standalone.
Tienes idea de cual podrí­a ser el problema?
Muchas gracias.
Responder | Responder con una citación | Citar
 
 
0 # Problemas en la importacion de librerias.lerods 10-08-2010 01:06
Excelente guí­a¡¡¡¡¡

Y pues tengo dos preguntas:

1. He empezado a seguir tu guí­a de desarrollo, pero ya tuve el primer problema, y ya llevo varios dí­as dando vueltas, pero no he dado con la solución.
En el proceso de importación de librerí­as me genera este error:

>>> import qgis.core
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named qgis.core

He instalado varios paquetes de python, teniendo en cuenta que estoy trabajando sobre 64 bits, y de hecho estoy trabajando con el 2.5 como lo indicas (especí­ficamen te este For Win64-Itanium users: python-2.5.4.ia64.msi, espero estar usando el correcto, aunque he intentado con otros, pero el problema persiste), y estoy en windows xp 64 bits, y estoy usando el paquete Windows-Standalone para quantum.

Tienes idea de cuál podrí­a ser el problema?

Nota: A quien le interese, hace poco lo hice sobre Windows 7 de 32 bits, y no tuve ningún problema, parece ser problema del sistema operativo, pues uso 64 bits. Creo estar usando algún paquete incorrecto.


2. He checkeado toda la guí­a, aunque no he siquiera podido empezar por el anterior error, pero me surge una duda, he visto como desarrollas un visor de shapefiles, y veo que en las siguientes paginas muestras la forma de incluir los plugins de quantum, pero quisiera saber, si para efectos de editar un shapefile, solo basta con incluir alguna librerí­a de edición, o es necesario desarrollar código muy complejo para lograrlo.

Muchas gracias.
Responder | Responder con una citación | Citar
 
 
0 # Problemas en la importacion de librerias.tuxman 10-08-2010 10:47
Hola lerods, gracias!

Para la primera duda no tengo cómo probar las librerí­as con la versión de 64 bits, en principio creerí­a que es por eso que falla. Has intentado usar las librerí­as de Python de 32 bits? (Como lo hiciste en Windows 7, en lugar de intentar con las de 64 bits) eso serí­a lo que probarí­a yo.

Con respecto a la segunda, creo que un plugin no te bastarí­a para editarlo, necesitarí­as desarrollarlo usando la API de QGIS. La verdad no lo he hecho. Para darte una idea, tendrí­as casi que traducir las clases qgsmaptool*.cpp que encuentras acá: svn.osgeo.org/qgis/trunk/qgis/src/app/

Saludos y déjanos saber cómo te va con esto.

Tuxman
Responder | Responder con una citación | Citar
 
 
0 # lerods 11-08-2010 00:58
Gracias Tuxman, el problema persiste, y pues seguramente me tomara algún tiempo solucionarlo, pero en cuanto tenga algún avance pasare de nuevo.
Gracias de nuevo.
Responder | Responder con una citación | Citar
 
 
0 # Actualización tuxman 15-01-2011 21:22
He realizado una actualización de este post debido a que desde hace unas cuantas versiones el instalador Standalone de QGIS ha variado la estructura de directorios y de librerí­as (dll). Por eso, he agregado la alternativa de configurar el entorno de desarrollo para PyQGIS empleando el paquete OSGeo4W. Para ir directamente a la actualización se puede dar click en este enlace (http://geotux.tuxfamily.org/index.php?option=com_myblog&task=view&id=253&Itemid=59#actualizacion1).

Espero les sirva.
Responder | Responder con una citación | Citar
 
 
0 # Problemas Visor en XP.Javier Diaz 15-03-2011 14:11
Buen dí­a Germán. Leí­ tu ultimo post. Y querí­a implementar el plugin de Query. Pero aun no puedo ejecutar el visor en windows xp, ni desde la linea de comandos ni como plugin de pgadmin3.
Después de hacer varios intentos. Instalar nuevamente las aplicaciones. Me tomo el atrevimiento de molestarte nuevamente.
Tengo instalado QGIS 1.3.0 (c:qgis), Python 2.5.4 (C.Python25), PyQt-Py2.5-x86-gpl-4.8.3-1.exe.

El archivo var_entorno.bat.

set PYTHONPATH=C:qgispython
set PATH=C:qgispythonbin ;%PATH%

PROBLEMA: No encuentro la carpeta bin dentro de c:qgispython. Deberí­a estar aquí­?.

PROBLEMA 2: "5. Ejecutar Python desde la terminal e importar las librerí­as de Quantum GIS para Python". Me da este error al importar >>> from qgis.core import *.

"Traceback (most recent call last):
File "(stdin)", line1, in (module)
ImportError: DLL load failed: No se puede encontrar el modulo especificado."

En Windows no lo pude hacer funcionar. En Ubuntu ya lo tengo funcionando.

Alguna sugerencia. Gracias nuevamente.
Responder | Responder con una citación | Citar
 
 
0 # Re:tuxman 15-03-2011 21:52
Hola Javier, para empezar, la carpeta que mencionas (c:qgispythonbi n) no la referencio en el post. Si te fijas, el .bat que propongo tiene solo la ruta c:qgisbin para la variable PATH.

Te recomiendo eso si, que pruebes una versión más reciente de QGIS, como la 1.5 o la 1.6, al hacerlo, ya debes tener en cuenta la actualización del post (http://geotux.tuxfamily.org/index.php?option=com_myblog&task=view&id=253&Itemid=59#actualizacion1).

Saludos.
Responder | Responder con una citación | Citar
 
 
0 # Problemas Visor en XPJavier Diaz 16-03-2011 10:20
Buen dí­a Germán. Tienes razón. El error estaba en la carpeta c:qgispythonbin . Estaba mal. Ahora pude importar las librerias. Pero no puedo correr el plugin desde pgadmin3.
Desde linea de comandos me da el error: " Qt or QGIS not installed".
Voy a intentar, como me dices, con una version superior de QGIS.
Responder | Responder con una citación | Citar
 
 
0 # Problemas con importJosue Acuna 05-04-2011 16:58
He instalado Quantum Gis 1.6.0, Python 2.5 y el correspondiente PyQt, todo bien hasta que hago la importacion de las librerias. Me da el siguiente error "Error al iniciar la aplicación porque no se encontró geos_c.dll. La reinstalación de la aplicación puede solucionar el problema". Ya he reinstalado QGis y Python pero el error persiste.

Gracias.
Responder | Responder con una citación | Citar
 
 
0 # Re:tuxman 17-04-2011 06:28
Hola Josue,

te recomiendo usar los pasos de la actualización del post, es decir, en lugar de utilizar la instalación independiente, usa el instalador OSGeo4W, has click en este enlace (http://geotux.tuxfamily.org/index.php?option=com_myblog&task=view&id=253&Itemid=59#actualizacion1) para ir a la actualización.

Saludos.
Responder | Responder con una citación | Citar
 
 
+1 # INSTALAR SOBRE SISTEMA OPERATIVO DE 64 BITS.Jorge A Espinosa 27-07-2011 00:10
Buen Dí­a:
Cordial Saludo
Germán siguiendo la guí­a de desarrollo no he podido instalarlo sobre Windows 7 de 64 bits. Por lo leí­do en comentarios anteriores veo que este es el problema, Querí­a saber si ya existe alguna solución a este problema me seria de gran ayuda.
Gracias por su tiempo y buenas intenciones.
Responder | Responder con una citación | Citar
 
 
0 # Re:tuxman 27-07-2011 07:58
Hola Jorge,

acá [1] hay un hilo de la lista de usuarios de QGIS sobre problemas de instalación de QGIS en Windows de 64 bits. Tal vez te sirva de ayuda. No se si ya estás siguiendo la actualización de este post, que aconseja la instalación usando el paquete OSGeo4W. En realidad no he probado la instalación en 64 bits, si lo consigues dejanos saberlo pues parece que más usuarios lo necesitan.

Saludos.

[1] http://osgeo-org.1803224.n2.nabble.com/QGIS-amp-windows-xp-64-bit-td5507161.html
Responder | Responder con una citación | Citar
 
 
0 # INSTALAR SOBRE SISTEMA OPERATIVO DE 64 BITS.Jorge A Espinosa T 29-07-2011 01:03
Buen Dí­a:

Cordial Saludo

Ya logre instalarlo sobre Windows 7 de 64 bits. Lo que hice fue que al instalar postgresql-8.4.7-1-windows.exe. Lo instale
No sobre la ruta que él define C:Program Files (x86) PostgreSQL
Si no sobre la siguiente C:Program FilesPostgreSQL .

Espero que les sea de utilidad para aquellos que trabajan en Windows 7 de 64 bits

Nota: Para instalar postgres y PostGIS Raster he utilizado el siguiente blog por si les es de interés a alguna persona me parece muy buen blog.
http://gis4free.wordpress.com/2011/03/10/how-to-install-and-configure-postgis-raster-on-windows/
Responder | Responder con una citación | Citar
 
 
+1 # aclaracion con py2exegbh 26-03-2012 00:22
Hola Germán, finalmente pude crear mi propio visor shape, a partir de la configuración del entorno de desarrollo que figura en este post.

Una aclaración (que tomó bastante tiempo): para poder distribuir la aplicación con py2exe, es necesario, además de configurar el entorno de desarrollo, copiar dentro de la carpeta C:\OSGeo4W\apps \Python27\Lib\s ite-packages la carpeta py2exe, que DEBE ser instalada en primer lugar en otra instalación de python, independiente de la instalación del python de OSGeo4W.

Entonces, en un momento conviven dos instalaciones de python, la que tiene el py2exe, y la de OSGeo4W. En este escenario, no compila la aplicación, porque toma el python independiente (que no es OSGeo4W), pero es necesario instalarlo para instalar el py2exe, ya que el instalador de py2exe SOLO reconoce como python al que se instala independienteme nte del OSGeo4W.

Espero haber sido claro.

Saludos,

Adolfo
Responder | Responder con una citación | Citar
 
 
0 # Re:tuxman 26-03-2012 08:31
Hola Adolfo,

gracias por comentarnos cómo resolviste el problema, eso ayudará mucho a futuros usuarios. :-)

No tuve ese problema cuando escribí el post, pero si hace unas semanas cuando lo quise reproducir, aunque tenía un Python ya instalado fuera de OSGeo4W. Sin embargo, la solución que usé fue la que se da aquí [1], que registra el Python de OSGeo4W en Windows para que py2exe la reconozca.

Saludos,

Tuxman
-------------------
[1] http://effbot.org/zone/python-register.htm
Responder | Responder con una citación | Citar
 

Escribir un comentario


Código de seguridad
Refescar

 

¿Dónde nos leen?