Cómo depurar código Python con PyScripter

324180_2445En este post vamos a daros las claves para aprovechar el uso de PyScripter como editor de código de ArcPy: Python para ArcGIS, tanto para escribir código como para la detección y corrección de errores de programación.

Además de PyScripter existen otros editores de código, como PythonWin, NetBeans o PyCharm (perfecto para PyQGIS), pero tanto nuestra experiencia como la de nuestros alumnos nos llevan a recomendar el primero.

En anteriores artículos sobre Python os explicamos cómo ejecutar código Python para ArcGIS y os damos los  8 consejos elementales para comenzar a trabajar con Python. Os recomendamos su lectura si queréis iniciaros en el uso de Python para ArcGIS.

Ventajas del uso de PyScripter

  • Utiliza diferentes colores, indenta y comenta el código de modo rápido, subraya una palabra determinada, busca y reemplaza, etc.
  • Es personalizable: colores, plantillas, fragmentos completos de código, etc.
  • Tiene predictor de escritura, que agiliza nuestro trabajo y evita que cometamos errores de escritura.
  • Las ventanas del IDE (Integrated Development Environment) y de depuración, entre las que destacamos la ventana de Variables y la ventana Intérprete ayudan durante la ejecución del script al seguimiento del código.

La utilización de un IDE como PyScripter facilita el trabajo y reduce la posibilidad de introducir errores en nuestros programas. Aún así cometeremos fallos, sobre todo al principio, que es cuando precisamente más nos van a entorpecer.

¿Cómo reparar nuestros errores?

porcentaje

Un 50% del error se soluciona cuando descubrimos DONDE ESTÁ EL ERROR.

El otro 50% se soluciona cuando descubrimos POR QUÉ SE HA PRODUCIDO EL ERROR.

Respecto al primer punto, para localizar el error debemos aprender a DEPURAR EL CÓDIGO. PyScripter cuenta con una barra de herramientas de depuración:

barra de herramientas de depuración

Depurar código: Opción 1 –> ejecutando línea por línea

Usaremos esta opción cuando creamos saber dónde está el error, para parar en ese punto y examinar el comportamiento del programa, los valores que adoptan las variables, etc.

1.1   Situando el cursor en la línea del script en la que queremos interrumpir la ejecución automática y pulsando la flecha azul «Ejecutar hasta el cursor» o F4. A partir del punto de interrupción cada línea de código se ejecutará cuando el usuario pulse el icono «Avanzar hasta la siguiente línea» o F8, de este modo localizamos la sentencia que falla y los valores que el programa está interpretando.

1.2    Fijando nuestros puntos de interruptor con el círculo rojo «Conmutar punto de parada» o F5 sobre cada línea en la que queramos conmutar parada y pulsando la flechita verde con bicho«Depurar» o F9.

Depurar código: Opción 2 –> ejecutando fragmentos de código

Utilizaremos esta opción cuando sabemos que el programa funciona antes de haber incluido nuevas sentencias, y queremos comprobar el funcionamiento de las mismas sin tener que ejecutar para ello el script completo.

Resaltando  las líneas que nos interesan y pulsando Ctl+F7, o con botón derecho Source Code/Ejecutar Selección.

¿Cómo capturar los errores?

En cuanto a la segunda cuestión: porqué ha fallado nuestro programa, podemos «capturar el error» y mostrarlo en la ventana Intérprete de PyScripter. Para ello tendremos que utilizar la estructura try & except . Con esta estructura el programa intenta (try) ejecutar todo el código que se encuentre indentado dentro del bloque try:. Si se produce un fallo, el código se dirige al bloque except: en el que se mostrará el mensaje de error generado.

try & except

Artículos relacionados:

Si quieres aprender a automatizar tareas en ArcGIS inscríbete ya en el curso online de ArcPy: Python para ArcGIS.

1 comentario en «Cómo depurar código Python con PyScripter»

  1. aihhhh… coincido en recomendar PyScripter como debugger para Python. Después de probar varios he termiado usando este. También son muy útiles los consejos sobre los errores que se cometen al principio

Los comentarios están cerrados.