¿Cómo depurar aplicaciones Web2py?
Pregunta
¿Es posible? Por depurar me refiero a establecer puntos de interrupción, inspeccionar valores y avanzar paso a paso.
Solución
Puede realizar la depuración remota de aplicaciones web de Python a través de TCP / IP con winpdb .
(El enlace aparece en junio de 2019. Pruebe PyPI winpdb )
Otros consejos
No he usado web2py, pero si se ejecuta en una ventana de terminal, puede usar cosas pdb estándar. Agregue esta línea en algún lugar de su código:
import pdb; pdb.set_trace()
Esto invocará al depurador y se interrumpirá. Luego puede usar los comandos PDB : n para avanzar a la línea siguiente, l para enumerar códigos, s para ingresar a una función, p para imprimir valores, etc.
Se pueden depurar aplicaciones creadas en Web2py usando la siguiente configuración:
- Eclipse IDE
- Instalar Pydev en Eclipse
- Establezca puntos de interrupción en su código según sea necesario
- Dentro de Eclipse, haga clic con el botón derecho en el archivo web2py.py y seleccione Debug As - > Python Run
- Cuando se alcanza un punto de interrupción, Eclipse saltará al punto de interrupción donde puede inspeccionar las variables y pasar por el código
También puede usar Visual Studio 2010. A continuación se explica cómo:
- Descargue e instale Python Tools for Visual Studio .
- Crear un nuevo proyecto a partir del código existente ( Archivo > Nuevo > Proyecto a partir del código existente ... )
- Especifique su carpeta web2py y use los valores predeterminados.
- Haga clic derecho en web2py.py y elija Establecer como archivo de inicio .
- Establezca puntos de interrupción y presione F5 (ejecutar) o haga clic con el botón derecho en web2py.py y elija Comenzar con la depuración .
Esta es una buena configuración si ya usa Visual Studio.
Sí, es posible, debido a la "prevención de tramo" Todavía no puedo publicar capturas de pantalla, pero aquí hay una captura de pantalla completa alojada en mi sitio web:
Estoy depurando aplicaciones web2py con Eclipse y PyDev. Aquí hay un artículo: http://www.web2pyslices.com/main/slices/take_slice/2
Aquí hay un artículo sobre depuración de python con pdb, que funcionará con web2py. http://sontek.net/debugging-python-with-pdb
Como dijo Carl, es tan fácil como:
- Instalación de PyDev en Eclipse
- Haga clic derecho en su proyecto Web2Py, seleccionando Debug As > Python Run
- Seleccionar web2py.py como el archivo a ejecutar
No se necesitan otros complementos o descargas.
@Ned Batchelder tiene casi razón, pero la forma estándar de hacerlo en web2py es ligeramente diferente.
En lugar de `import pdb; pdb.set_trace (), usa el código:
from gluon.debug import dbg
dbg.set_trace()
Al ejecutar la aplicación web, la aplicación se congelará cuando llegue a esta sección de código. Luego, vaya a http://127.0.0.1:8000/admin/debug/interact (usando la URL raíz para su aplicación) y mostrará un depurador completamente interactivo basado en la web:
Consulte documentación .