Difference between revisions of "Geoinquietosmadrid grupoPython"

From OSGeo
Jump to navigation Jump to search
 
(42 intermediate revisions by 12 users not shown)
Line 2: Line 2:
  
  
* '''Objetivo''': Aprender a programación en python
+
* '''Objetivo''': Aprender programación en python
* '''Facilitadora''': Graeme Herbert y Roberto Antolín
+
* '''Facilitadores''': Graeme Herbert y Roberto Antolín
* '''Proxima reunión''': Introducción a python (22-03-2013)
+
* '''Proxima reunión''': Introducción a python en [http://medialab-prado.es/article/donde_y_cuando Medialab Prado] (14-11-2013, Sala C a las 19:00)
  
 
En la [http://lists.osgeo.org/mailman/listinfo/madrid lista de correo de Geoinquietos Madrid] se irá discutiendo todo lo relativo al grupo, pero recordad empezar siempre el asunto con '''[Grupo python]''' para que la gente pueda discriminar lo que quiere y no leer.
 
En la [http://lists.osgeo.org/mailman/listinfo/madrid lista de correo de Geoinquietos Madrid] se irá discutiendo todo lo relativo al grupo, pero recordad empezar siempre el asunto con '''[Grupo python]''' para que la gente pueda discriminar lo que quiere y no leer.
Line 11: Line 11:
 
=== Documentación ===
 
=== Documentación ===
  
Python fue desarrollado en primera instancia por Guido van Rossum, el cual ha escrito un manual que, por desgracia, se encuentra un versión en pdf por internet si no es en amazon. Existe, sin embargo el  [http://docs.python.org/2/tutorial/ tutorial-manual]. En la [http://www.python.org/doc/ página oficial de documentación de python] hay varios enlaces que también se pueden utilizar.
+
Python fue desarrollado en primera instancia por Guido van Rossum, el cual ha escrito un [https://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&cad=rja&ved=0CFoQFjAE&url=http%3A%2F%2Fpdf-world.net%2Fpdf-2011%2Fguido-van-rossum-pdf.pdf&ei=5AQmUfGeCYS7hAecroDADg&usg=AFQjCNGP5JWkH4cVnoFwQVGlymnKapzaxw&sig2=NVPBfcUo7G7SQSDVvGjBMA manual]. Esta versión es del 2000 está desactualizada. Por desgracia, la versión actualizada no se encuentra un versión en pdf por internet si no es en amazon. Existe, sin embargo el  [http://docs.python.org/2/tutorial/ tutorial-manual]. En la [http://www.python.org/doc/ página oficial de documentación de python] hay varios enlaces que también se pueden utilizar y también una página con [http://wiki.python.org/moin/SpanishLanguage enlaces a documentos en español].
  
 
Existen otros tutoriales y cursos como el de la serie "learn XXXX the hard way", vamos, en el modo duro. En este caso [http://learnpythonthehardway.org/ Learn Python the Hard Way]. No es muy difícil, pero sí es duro por repetitivo. El truco está en escribir todo (nada de copiar-pegar) y así ir aprendiendo a base de equivocarse. Yo lo he seguido durante un tiempo pero acaba cansando si no se es muy perseverante. Puede ser útil para marcarse un guión y para practicar de manera individual.
 
Existen otros tutoriales y cursos como el de la serie "learn XXXX the hard way", vamos, en el modo duro. En este caso [http://learnpythonthehardway.org/ Learn Python the Hard Way]. No es muy difícil, pero sí es duro por repetitivo. El truco está en escribir todo (nada de copiar-pegar) y así ir aprendiendo a base de equivocarse. Yo lo he seguido durante un tiempo pero acaba cansando si no se es muy perseverante. Puede ser útil para marcarse un guión y para practicar de manera individual.
  
Para los que prefieren literatura en castellano está el libro [http://mundogeek.net/tutorial-python/ Python para todos], que parece bastante completo y que podría ser una de las referencias, precisamente porque está solventada la barrera del idioma.
+
Para los que prefieren literatura en castellano está el libro [http://mundogeek.net/tutorial-python/ Python para todos], que parece bastante completo y que podría ser una de las referencias, precisamente porque está solventada la barrera del idioma. Para los que quieren probar con el entorno de IDLE existe una [https://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE_spanish.html introducción en español]. También hay [http://www.codecademy.com/es/tracks/python-latinamerica un curso de Codeacademy] traducido al español.
 +
 
 +
En la pagina oficial de python.org hay una sección que tiene una selección de aplicaciones de python [https://pypi.python.org/pypi?:action=browse&c=391 relacionados con los SIG].
  
 
Por último, añadir también el [https://www.dropbox.com/sh/uv9yfy51vsnpixk/ElZyF05N40/Grupo%20Python enlace] donde se ha colgado los vídeos del curos de coursera [https://www.coursera.org/course/programming1 Learn to Program: The Fundamentals] basado en python. Son vídeos muy sencillitos y que tratan muy poco temario. Describen los tipos de python y un poco de control de flujo. La ventaja es que hay ejercicios para practicar y coger una buena práxis.
 
Por último, añadir también el [https://www.dropbox.com/sh/uv9yfy51vsnpixk/ElZyF05N40/Grupo%20Python enlace] donde se ha colgado los vídeos del curos de coursera [https://www.coursera.org/course/programming1 Learn to Program: The Fundamentals] basado en python. Son vídeos muy sencillitos y que tratan muy poco temario. Describen los tipos de python y un poco de control de flujo. La ventaja es que hay ejercicios para practicar y coger una buena práxis.
  
En esta sección se irán colgando todos los enlaces a documentación que puedan resultar interesantes para el grupo.  
+
En esta sección se irán colgando todos los enlaces a documentación que puedan resultar interesantes para el grupo.
 +
 
 +
Documentación para python y QGIS:
 +
 
 +
[http://qgis.org/es/docs/pyqgis_developer_cookbook/index.html PyQGIS Cookbook]
 +
 
 +
[http://qgis.org/api/ QGIS API]
 +
 
 +
[http://pyqt.sourceforge.net/Docs/PyQt4/classes.html PyQt API]
 +
 
 +
=== Participantes ===
 +
Graeme Herbert
 +
 
 +
Roberto Antolín
 +
 
 +
[[Santiago Higuera]]
 +
 
 +
Yansa Tejada
 +
 
 +
Pablo Gómez
 +
 
 +
Javi Sánchez
 +
 
 +
Almudena García
 +
 
 +
Juan Sanguino
 +
 
 +
Jesús García
 +
 
 +
Alejandro Zappala
 +
 
 +
Miguel Fiandor
 +
 
 +
Lorena Hernández
 +
 
 +
=== Primera reunión ===
 +
 
 +
Vamos a utilizar como referencia a Python Para Todos, enlazado arriba en la sección de documentación. Se puede guardar una copia local de este documento. También va a ser útil leer el documento de introducción a IDLE (en la sección de Documentación).
 +
 
 +
[http://www.python.org/download/releases/ Instalación de python] para las versiones 2 y 3 en producción
 +
 
 +
Uso de variables
 +
 
 +
Uso de operadores
 +
 
 +
Uso de colecciones (listados, tuplas y diccionarios)
 +
 
 +
Sentencias condicionales y bucles
 +
 
 +
Definición de funciones
 +
 
 +
=== Segunda reunión ===
 +
 
 +
Siguiendo con Python Para Todos hemos revisado los temas básicos de la primera reunión y con un ejercicio que consistia en escribir una función para invertir el orden de una lista o una tupla de elementos. Luego hemos mirado ejemplos de orientación a objetos utilizando el ejemplo de los coches de Python Para Todos y otro ejemplo sencillo de describir geometría utilizando clases.
 +
 
 +
 
 +
=== Tercera reunión ===
 +
 
 +
 
 +
=== Cuarta reunión ===
 +
 
 +
Confirmada la reunión del jueves 3 de octubre. Vamos a tener la Sala B en la primera planta de Medialab Prado a las 18:00.
 +
 
 +
=== Quinta reunión ===
 +
 
 +
Una copia de la documentación del taller original (en inglés) [https://skydrive.live.com/redir?resid=C27ECBD660225CC7!402&authkey=!ACgeVRuAZ8i32xU se encuentra aquí]
 +
 
 +
Confirmada la reunión del jueves 14 de noviembre. Vamos a tener la Sala C en la segunda planta de Medialab Prado a las 19:00. En esta reunión vamos a mirar el tema de programación de plugins para Python en QGIS siguiendo el formato de un taller presentado este año en FOSS4G 2013. Veremos como utilizar la librería de PyQT para conseguir que funciona python junto con la aplicación QT para diseñar la interfaz de un plugin para QGIS. ''No hay mucha programación en esta reunión'', trabajamos directamente con QGIS, el IDE de python '''ERIC''' y QT. El objetivo final del taller es en pequeño plugin para cargar un fichero de Shape.
 +
 
 +
'''Preparación para la reunión:'''
 +
 
 +
El taller utiliza ERIC, Qt Designer, QGIS y PyQt. La forma mas fácil para tener todas las herramientas disponibles es instalar [http://live.osgeo.org/en/index.html OSGeo Live 7.0] en una maquina virtual (como Virtual Box por ejemplo), ya que todo viene instalado. Para instalar todo de forma independiente el tema se complica, porque hay que instalar varias librerías y es muy importante el orden de instalación y la versión instalada.
 +
 
 +
'''Para OSX''' (ha sido probado con Snow Leopard):
 +
 
 +
[http://works13.com/blog/mac/howto-install-eric4-on-mac-os-x-with-64bit-python.htm En este enlace] se explica bien lo que hay que instalar y el orden de instalación. Ha sido probado con éxito para las siguientes versiones de cada componente:
 +
 
 +
'''Python:''' [http://www.python.org/getit/releases/2.7.6/ 2.7.6]
 +
 
 +
'''Qt:''' [http://download.qt-project.org/archive/qt/4.8/4.8.1/ 4.8.1]
 +
 
 +
'''PyQt:''' [http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.4/ 4.9.4]
 +
 
 +
'''sip:''' [http://sourceforge.net/projects/pyqt/files/sip/sip-4.13.3/ 4.13.3]
 +
 
 +
'''QScintilla:''' [http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.6.2/ 2.6.2]
 +
 
 +
'''Eric:''' [http://sourceforge.net/projects/eric-ide/files/eric4/stable/4.4.18/ 4.4.18]
 +
 
 +
'''QGIS''': [http://www.qgis.org/en/site/forusers/download.html 1.8 o 2.0 si funciona la instalación en Snow Leopard]
 +
 
 +
Es posible, aunque no ha sido probado, que la misma combinación de versiones funciona para Linux también. Son parecidas a las que utiliza la instalación de OSGeo 7.0. De todas formas, con tantas dependencias es buena idea utilizar una combinación que ya funciona. Con Debian o Ubuntu debe funcionar lo siguiente:
 +
 
 +
''sudo apt-get install eric qt4-designer pyqt4-dev-tools''
 +
 
 +
Para WIndows hay que instalar las mismas herramientas pero obviamente el proceso de instalación puede ser distinto. No se ha hecho pruebas.
 +
 
 +
'''Configuración de ERIC'''
  
 +
Para configurar el entorno de ERIC hay que bajar unos ficheros que vamos a instalar al principio del taller. He subido los ficheros comprimidos [https://skydrive.live.com/redir?resid=C27ECBD660225CC7!402&authkey=!ACgeVRuAZ8i32xU a esta carpeta].
  
 
[[Category:Español]]
 
[[Category:Español]]
 
[[Category:Iniciativas Locales]]
 
[[Category:Iniciativas Locales]]
 
[[Category:Geoinquietos Madrid]]
 
[[Category:Geoinquietos Madrid]]

Latest revision as of 06:20, 19 November 2013

Geoinquietos Madrid : Grupo de trabajo Python

  • Objetivo: Aprender programación en python
  • Facilitadores: Graeme Herbert y Roberto Antolín
  • Proxima reunión: Introducción a python en Medialab Prado (14-11-2013, Sala C a las 19:00)

En la lista de correo de Geoinquietos Madrid se irá discutiendo todo lo relativo al grupo, pero recordad empezar siempre el asunto con [Grupo python] para que la gente pueda discriminar lo que quiere y no leer.


Documentación

Python fue desarrollado en primera instancia por Guido van Rossum, el cual ha escrito un manual. Esta versión es del 2000 está desactualizada. Por desgracia, la versión actualizada no se encuentra un versión en pdf por internet si no es en amazon. Existe, sin embargo el tutorial-manual. En la página oficial de documentación de python hay varios enlaces que también se pueden utilizar y también una página con enlaces a documentos en español.

Existen otros tutoriales y cursos como el de la serie "learn XXXX the hard way", vamos, en el modo duro. En este caso Learn Python the Hard Way. No es muy difícil, pero sí es duro por repetitivo. El truco está en escribir todo (nada de copiar-pegar) y así ir aprendiendo a base de equivocarse. Yo lo he seguido durante un tiempo pero acaba cansando si no se es muy perseverante. Puede ser útil para marcarse un guión y para practicar de manera individual.

Para los que prefieren literatura en castellano está el libro Python para todos, que parece bastante completo y que podría ser una de las referencias, precisamente porque está solventada la barrera del idioma. Para los que quieren probar con el entorno de IDLE existe una introducción en español. También hay un curso de Codeacademy traducido al español.

En la pagina oficial de python.org hay una sección que tiene una selección de aplicaciones de python relacionados con los SIG.

Por último, añadir también el enlace donde se ha colgado los vídeos del curos de coursera Learn to Program: The Fundamentals basado en python. Son vídeos muy sencillitos y que tratan muy poco temario. Describen los tipos de python y un poco de control de flujo. La ventaja es que hay ejercicios para practicar y coger una buena práxis.

En esta sección se irán colgando todos los enlaces a documentación que puedan resultar interesantes para el grupo.

Documentación para python y QGIS:

PyQGIS Cookbook

QGIS API

PyQt API

Participantes

Graeme Herbert

Roberto Antolín

Santiago Higuera

Yansa Tejada

Pablo Gómez

Javi Sánchez

Almudena García

Juan Sanguino

Jesús García

Alejandro Zappala

Miguel Fiandor

Lorena Hernández

Primera reunión

Vamos a utilizar como referencia a Python Para Todos, enlazado arriba en la sección de documentación. Se puede guardar una copia local de este documento. También va a ser útil leer el documento de introducción a IDLE (en la sección de Documentación).

Instalación de python para las versiones 2 y 3 en producción

Uso de variables

Uso de operadores

Uso de colecciones (listados, tuplas y diccionarios)

Sentencias condicionales y bucles

Definición de funciones

Segunda reunión

Siguiendo con Python Para Todos hemos revisado los temas básicos de la primera reunión y con un ejercicio que consistia en escribir una función para invertir el orden de una lista o una tupla de elementos. Luego hemos mirado ejemplos de orientación a objetos utilizando el ejemplo de los coches de Python Para Todos y otro ejemplo sencillo de describir geometría utilizando clases.


Tercera reunión

Cuarta reunión

Confirmada la reunión del jueves 3 de octubre. Vamos a tener la Sala B en la primera planta de Medialab Prado a las 18:00.

Quinta reunión

Una copia de la documentación del taller original (en inglés) se encuentra aquí

Confirmada la reunión del jueves 14 de noviembre. Vamos a tener la Sala C en la segunda planta de Medialab Prado a las 19:00. En esta reunión vamos a mirar el tema de programación de plugins para Python en QGIS siguiendo el formato de un taller presentado este año en FOSS4G 2013. Veremos como utilizar la librería de PyQT para conseguir que funciona python junto con la aplicación QT para diseñar la interfaz de un plugin para QGIS. No hay mucha programación en esta reunión, trabajamos directamente con QGIS, el IDE de python ERIC y QT. El objetivo final del taller es en pequeño plugin para cargar un fichero de Shape.

Preparación para la reunión:

El taller utiliza ERIC, Qt Designer, QGIS y PyQt. La forma mas fácil para tener todas las herramientas disponibles es instalar OSGeo Live 7.0 en una maquina virtual (como Virtual Box por ejemplo), ya que todo viene instalado. Para instalar todo de forma independiente el tema se complica, porque hay que instalar varias librerías y es muy importante el orden de instalación y la versión instalada.

Para OSX (ha sido probado con Snow Leopard):

En este enlace se explica bien lo que hay que instalar y el orden de instalación. Ha sido probado con éxito para las siguientes versiones de cada componente:

Python: 2.7.6

Qt: 4.8.1

PyQt: 4.9.4

sip: 4.13.3

QScintilla: 2.6.2

Eric: 4.4.18

QGIS: 1.8 o 2.0 si funciona la instalación en Snow Leopard

Es posible, aunque no ha sido probado, que la misma combinación de versiones funciona para Linux también. Son parecidas a las que utiliza la instalación de OSGeo 7.0. De todas formas, con tantas dependencias es buena idea utilizar una combinación que ya funciona. Con Debian o Ubuntu debe funcionar lo siguiente:

sudo apt-get install eric qt4-designer pyqt4-dev-tools

Para WIndows hay que instalar las mismas herramientas pero obviamente el proceso de instalación puede ser distinto. No se ha hecho pruebas.

Configuración de ERIC

Para configurar el entorno de ERIC hay que bajar unos ficheros que vamos a instalar al principio del taller. He subido los ficheros comprimidos a esta carpeta.