我将iPython shell嵌入Django脚本(带有开发服务器,例如localhost的runserver),如下所示:
...
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell()
...
它给了我在所需位置的交互式shell。现在,如果修改源代码,Django会自动重新加载,可能没有正确退出iPython shell,并“中断”我的终端模拟器(xterm,konsole) - 文本变得不可见等等(如果在Django中运行的iPython终止于Ctrl,效果相同+ d)。
任何可能导致此问题的建议? (我可能以错误的方式使用iPython,但谁知道)。
答案 0 :(得分:4)
我无法回答为什么会出错的问题,但我可以告诉你如何从中恢复:退出调试服务器并发出reset
命令。
防止这种情况发生的另一种方法是使用--reload
命令上的runserver
开关。这意味着Django在更改后不会重新加载,但它也不会破坏您的调试器。
答案 1 :(得分:1)
此问题已修复:http://code.djangoproject.com/ticket/15565
感谢Django。