突破 Python shell 提示符 "...:" in enthought canopy



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

输入python shell时,错误会产生一个" ...:"提示,然后我无法脱离。击中Enter并尝试其他想法会导致重复相同的提示。如何突破此模式并继续调试?

编辑,请参阅答案的底部


要理解的关键点是,当ipython提示您使用...时,这是因为您处于键入多行语句的中间(无论是您的意图是否意图)。通常是因为在某些以前的行上,您键入了左括号(或括号),或者三重引号,等等,而ipython正在等待您使用正确的括号或匹配的三重引用等。

因此,您可能想做的只是删除部分输入的语句。假设您的光标已经处于多行语句中的最后一行的末尾,那就是最简单的方法,就是要按并握住backspace键,直到您的语句被删除为止。稍快地使用CTRL Backspace进行操作,它一次擦除一个单词,而不是一次字符。删除了所有垃圾后,按Enter,实际上并不需要,但会让您感觉更好,以说服自己一切都恢复正常。

(顺便说一句,您实际上在键入单个长语句的中间,也解释了为什么键入"退出"什么都不做;您并不是真正键入"退出"命令,而只是键入其他字母"退出"无论可能是什么,都进入您已经太长时间和错误的命令中的中间,这使其更长,更错误!

作为另一个旁注 - quit实际上在Canopy的Ipython面板中不是很有用,因为它只是关闭了面板,但并没有真正关闭Ipython。如果您从"视图"菜单重新打开面板,那么它仍然是您留下的。如果您真的想重新启动ipython(清除所有变量和导入),请在Canopy的运行菜单中使用"重新启动内核"命令进行操作。)


编辑:

op的屏幕截图,私下发送,表明自动捕捉模式已打开(这是工具栏上的类似公牛 - 眼睛的图标。)解决方案是切换自动删除次数。

背景:在Canopy的Ipython(Qtconsole)前端和Ipython内核后端之间的自动挂钩钩中。如果剩下自动次数,一些问题可能会破坏此频道。当前在Alpha中的Canopy 2.0中,应改进这一点。

尝试按Ctrl D,有助于从控制台面板出来。

最新更新