2009-06-04 9 views
5

Actualmente estoy desarrollando una aplicación simple en python que se conecta a un servidor. Por el momento, es de subproceso único (ya que no se requiere multiprocesamiento).Python REPL para un proceso en ejecución

Sin embargo, me gustaría - para la depuración, mantenimiento y también para poder tener un REPL a través de stdin.

¿Cómo hago eso, si es posible? ¿Tendré que tener en cuenta algo? ¿Tendré que hacer un hilo por separado para eso?

Respuesta

1

Tal vez this pregunta podría ayudar. Puede modificarlo un poco para crear un REPL personalizado.

3

No necesita bloquear o usar un hilo.

Yo personalmente usaría Twisted para concurrencia, que también ofrece un protocolo REPL que es fácil de integrar.

+3

+1: twisted también ofrece la boca de acceso - un servicio donde puede SSH a su aplicación y obtener un REPL para interactuar con él mientras se está ejecutando! – nosklo

+0

Voy a probar esto. Suena como lo que necesito. – cwj

0

También hay rfoo. Desde el README:

rconsole - incluido con el paquete rfoo es una consola Python remoto con finalización automática, que puede ser utilizado para inspeccionar y modificar espacio de nombre de un guión ejecución.

Para activar en un script hacer:

from rfoo.utils import rconsole 
rconsole.spawn_server() 

adjuntar desde una concha hacer:

$ rconsole 

SEGURIDAD NOTA:
El oyente rconsole comenzó con spawn_server() aceptará cualquier local conexión y, por lo tanto, puede ser inseguro para usar en el alojamiento compartido o entornos similares!

Cuestiones relacionadas