En PHP, fue extremadamente fácil comenzar a piratear y descubrir lo que estaba sucediendo en una página. Simplemente agregue un montón de ecos y print_r y eso fue todo. Parece que esta técnica no me funciona en Python. Estoy practicando pirateando un módulo de carga de fotos de Python, y cuando se carga una foto, crea 3 fotos de diferentes tamaños. Encontré el código que hace esto, pero quiero ver el estado en ese momento en particular. Intenté hacer una "impresión" en la variable de tamaño, pero no apareció en mi navegador.

Supongo que una pregunta más directa sería, ¿es "pitón" depurar usando el navegador (equivalente a echo's y print_r's en php), o es para eso que sirve la consola python? ¡Gracias!

1
Chris D. 10 jun. 2011 a las 23:43

5 respuestas

La mejor respuesta

Use el módulo logging en lugar de imprimir cosas en stdout.

Usar el intérprete en modo interactivo es una excelente manera de probar el código, y pdb es muy útil para la depuración real.

4
Wooble 10 jun. 2011 a las 19:46

Como otros han mencionado PDB, aprovecharé la oportunidad para cantar las alabanzas de Eclipse usando el complemento pydev, que es absolutamente fantástico. IDLE también vale la pena ir. Ambos IDEs le permiten recorrer el código, inspeccionar variables, autocompletar, etc., etc.

http://pydev.org/

Descargue Eclipse y luego use el menú Actualizaciones de software para agregar PyDev.

http://pydev.org/updates

0
Steve Mayne 10 jun. 2011 a las 19:52

Es "pitónico" depurar usando el módulo pdb.

Pero en realidad, si solo estás "hackeando", entonces sugiero jugar con una interfaz de intérprete interactiva, especialmente una que admita autocompletado (Python viene con IDLE de fábrica).

0
JAB 10 jun. 2011 a las 19:48

Necesita aprender a usar un depurador;) Hackear con impresiones es genial para php simple, pero puede ahorrar mucho tiempo en idiomas superiores con un depurador.

Como se mencionó, PDP es un lugar para comenzar http://docs.python.org/library/pdb. html

0
bwawok 10 jun. 2011 a las 19:49

PyCharm de JetBrains es tan bueno como todos sus otros productos. Tiene un depurador integrado y mucho más.

0
duffymo 10 jun. 2011 a las 20:04