2009-06-04 42 views
5

Attualmente sto sviluppando una semplice applicazione in python che si connette a un server. Al momento, è single-threaded (come il multithreading non è attualmente richiesto).Python REPL per un processo in esecuzione

Tuttavia, mi piacerebbe - per il debug, la manutenzione e tali da poter anche avere un REPL tramite stdin.

Come faccio, se possibile? Dovrò tenere a mente qualcosa? Dovrò creare un thread separato per questo?

risposta

1

Forse la domanda this potrebbe essere d'aiuto. È possibile modificarlo un po 'per creare un REPL personalizzato.

3

È necessario passare al blocco o utilizzare una discussione.

Personalmente utilizzerei Twisted per la concorrenza, che offre anche un protocollo REPL che è facile da integrare.

+3

+1: twisted offre anche il passo d'uomo - un servizio in cui è possibile SSH per l'applicazione e ottenere un REPL per interagire con esso mentre è in esecuzione! – nosklo

+0

Ho intenzione di fare un tentativo. Sembra quello di cui ho bisogno. – cwj

0

C'è anche rfoo. Dal README:

RCONSOLE - incluso con il pacchetto Rfoo è una console Python remota con il completamento automatico, che può essere utilizzato per controllare e modificare namespace di uno script esecuzione.

Per attivare in uno script fare:

from rfoo.utils import rconsole 
rconsole.spawn_server() 

Per allegare da una shell fare:

$ rconsole 

SICUREZZA NOTA:
L'ascoltatore RCONSOLE iniziato con spawn_server() accetterà qualsiasi localeConnessionee potrebbe quindi non essere sicuro per l'utilizzo in hosting condiviso o ambienti simili!

Problemi correlati