Pregunta

Tengo la configuración de Eclipse con PyDev y me encanta poder depurar mis scripts / aplicaciones. Acabo de empezar a jugar con Pylons y me preguntaba si hay alguna forma de iniciar el servidor de correo electrónico mediante Eclipse para poder depurar mi aplicación web.

¿Fue útil?

Solución

Crear una nueva configuración de lanzamiento (Python Run)

Pestaña principal

Use paster-script.py como módulo principal (lo puede encontrar en el subdirectorio Scripts en su directorio de instalación de Python)

No olvide agregar la carpeta raíz de su aplicación en la zona PYTHONPATH

Argumentos Establezca también el directorio base en la carpeta raíz.

Como argumentos del programa, use " serve development.ini " (o lo que sea que use para depurar su aplicación ")

Pestaña común

Compruebe la consola de asignación y ejecútela en segundo plano

Otros consejos

Si prefieres no incluir tu instalación de Python en el área de trabajo de tu proyecto para obtener una aprobación, puedes crear un controlador de Python puro como:

#!/usr/bin/env python

from paste.script.serve import ServeCommand

ServeCommand("serve").run(["development.ini"])

... y ejecutar / depurar eso en Eclipse.

Nota: esto se ejecuta sin la opción --rload , por lo que no se implementan en caliente (es decir, deberá volver a cargar el servidor para ver los cambios). Alternativamente, puede agregar la opción --reload para obtener implementaciones en caliente, pero luego Pydev no se detendrá en sus puntos de interrupción. No puedo tener tu pastel y comértelo también ...

ServeCommand("serve").run(["--reload", "development.ini"])

yanjost lo tiene bien, solo quería agregar que debe asegurarse de no usar la opción --cargar, esto evitará que el depurador se adjunte correctamente y hará que sus puntos de interrupción no funcionen. Solo una pequeña cosa con la que me encontré.

Fui capaz de --recargar el trabajo al cambiar el 'Directorio de trabajo' en la pestaña de argumentos para no usar el predeterminado (es decir, seleccione 'Otro' - > Sistema de archivos - > 'Raíz de la aplicación Pylons' donde el desarrollo .ini se almacena.

En Linux, probablemente será / usr / bin / paster o / usr / local / bin / paster para el script de pegado, y para los argumentos que tengo: serve $ {workspace_loc} $ {project_path} /development.ini

También conseguí que esto funcionara (finalmente). Utilicé buildout en lugar de virtualenv para instalar pilones (instrucciones en: http: //wiki.pylonshq.com/display/pylonscommunity/Howto+install+Pylons+with+buildout ), por lo que las instrucciones anteriores deben cambiarse un poco en lo que respecta a los caminos.

-para " Módulo principal " ;, uso:

${workspace_loc:myeclipseprojectname/bin/paster}

(agregando --reload hizo que los puntos de interrupción no funcionen para mí, y lo probé un par de veces)

-para " Argumentos de programa " ;, uso:

serve ${workspace_loc:myeclipseprojectname/mypylonsprojectname/development.ini}

-para " Directorio de trabajo, Otro: " ;, uso:

${workspace_loc:myeclipseprojectname/mypylonsprojectname}

-como se mencionó anteriormente, en " Common Tab " ;, " Comprobar asignar consola y lanzar en segundo plano "

-y recuerda establecer un punto de interrupción antes de intentarlo.

Esto realmente no responde a la pregunta sobre cómo hacerlo en eclipse. Pero he estado depurando el servidor paster con winpdb, que es un buen depurador gráfico de Python (puedes instalarlo con easy_install winpdb).

Simplemente inicie su servidor, por ejemplo:

winpdb /usr/local/bin/paster serve development.ini

Y haga clic en el botón Ejecutar.

Como dijo wayne, es necesario no usar la opción --reload. Al menos no pude encontrar cómo conectarme a una aplicación web real, incluso cuando seleccioné en qué proceso bifurcado debiera ingresar el depurador (ingresar diferentes procesos se puede controlar con los comandos de depurador '' fork parent '' y '' fork child ''.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top