iPython - «сломанная» оболочка / терминал после переопределения Django - PullRequest
8 голосов
/ 15 июля 2010

Я встраиваю оболочку iPython в скрипт Django (с сервером разработки, например, runserver на локальном хосте) следующим образом:

...
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell()
...

, которая дает мне интерактивную оболочку в нужном месте. Теперь, если изменить исходный код, Django автоматически перезагружается, возможно, без корректного выхода из оболочки iPython и «ломает» мой эмулятор терминала (xterm, konsole) - текст становится невидимым и т. Д. (Тот же эффект, если iPython, работающий внутри Django, завершается нажатием Ctrl + d).

Есть предложения, что может быть причиной этого? (Возможно, я неправильно использую iPython, но кто знает).

Ответы [ 2 ]

4 голосов
/ 15 июля 2010

Я не могу ответить на вопрос, почему происходит сбой, но я могу рассказать вам, как с него восстановиться: выйдите из сервера отладки и введите команду reset.

Другой способ предотвратить это -использовать переключатель --reload для команды runserver.Это означает, что Django не будет перезагружаться после изменения, но это также не сломает ваш отладчик.

1 голос
/ 13 апреля 2011

Эта проблема уже исправлена: http://code.djangoproject.com/ticket/15565

Спасибо Django.

...