突破python shell提示" ...:"在enthought树冠

时间:2016-12-31 03:16:47

标签: python shell editor enthought canopy

上下文:在Windows 10上使用Enthought的Canopy版本:1.7.4.3348(64位)。

输入python shell,错误产生" ...:"提示,我不能打破。击中输入并尝试其他想法可悲地导致重复相同的提示。如何突破这种模式,继续调试?

2 个答案:

答案 0 :(得分:1)

已编辑,请参阅答案底部

要理解的关键点是,当IPython提示您...时,这是因为您正在键入多行语句(无论这是否是您的意图)。通常这是因为在某些前一行中,您键入了左括号(或括号)或三引号标记等,并且IPython正在等待您使用右括号或匹配的三引号等完成语句。

所以你可能想做的只是删除部分输入的语句。最简单的方法是假设你的光标已经在多行语句的最后一行的末尾,只需按住退格键直到你的语句全部被删除。稍微快一点的是使用Ctrl + Backspace执行相同的操作,它一次删除一个单词而不是一次删除一个单词。在您清除了所有垃圾后,按Enter,实际上并不需要,但会让您感觉更好,让自己相信一切都恢复正常。

(顺便说一下,你实际上正在键入一个长语句的事实也解释了为什么键入"退出"什么都不做;你实际上并没有输入"退出"命令,但只需键入其他字母"退出"进入已经过长且错误的命令的中间,无论可能是什么,这会使它更长,更错误!

另外一点注意事项 - quit在Canopy的IPython面板中实际上并不是很有用,因为它只是关闭了面板,但并没有真正关闭IPython;如果您从“视图”菜单中重新打开面板,它仍然就像您离开时一样。如果你真的想重启IPython(清除你所有的变量和导入),可以使用"重启内核" Canopy的“运行”菜单中的命令。)

编辑:

OP私密发送的屏幕截图显示Autodebug模式已打开(这是工具栏上的牛眼图标。)解决方案是关闭Autodebug。

背景:Autodebug挂钩到Canopy的IPython(QtConsole)前端和IPython内核后端之间的通道。如果autodebug保持打开状态,则某些问题可能会破坏此通道。这应该在Canopy 2.0中进行改进,目前在内部使用alpha。

答案 1 :(得分:0)

尝试按Ctrl + D,这有助于退出控制台面板。