2009-06-04 14 views
5

Obecnie rozwijam prostą aplikację w pythonie, która łączy się z serwerem. W tej chwili jest on jednowątkowy (ponieważ wielowątkowość nie jest obecnie wymagana).Python REPL dla działającego procesu

Jednak chciałbym - dla debugowania, konserwacji i takich również być w stanie mieć REPL przez stdin.

Jak to zrobić, jeśli to możliwe? Czy powinienem mieć coś na uwadze? Czy będę musiał zrobić dla niego osobny wątek?

Odpowiedz

1

Może pytanie: this mogłoby pomóc. Możesz go nieco zmodyfikować, aby stworzyć spersonalizowaną REPL.

3

Musisz przejść bez blokowania lub użyć wątku.

Osobiście użyłbym Twisted do współbieżności, który oferuje również protokół REPL, który jest łatwy do zintegrowania.

+3

+1: twisted oferuje również właz - usługę, dzięki której możesz korzystać z SSH do swojej aplikacji i uzyskać REPL do interakcji z nim podczas pracy! – nosklo

+0

Mam zamiar dać temu szansę. Brzmi jak to, czego potrzebuję. – cwj

0

Istnieje również rfoo. Od README:

RCONSOLE - w zestawie z pakietem rfoo jest zdalna konsola Pythona z zakończeniu auto, które mogą być wykorzystane do wglądu i modyfikacji nazw skryptu jezdnego.

Aby aktywować w skrypcie zrobić:

from rfoo.utils import rconsole 
rconsole.spawn_server() 

Aby założyć z powłoki zrobić:

$ rconsole 

zabezpieczeń Uwaga:
RCONSOLE słuchacz zaczął z spawn_server() zaakceptuje dowolny lokalny połączenie i dlatego może być niebezpieczne w użyciu w hostingu dzielonym lub podobnych środowiskach!

Powiązane problemy