Ipython: 在 for 循环内的函数内重复调用时无法转义 IPython.embed()

创建于 2016-01-20  ·  3评论  ·  资料来源: ipython/ipython

我从命令行运行foo.py ,它包含一个具有 for 循环的函数,其中有一个具有 IPython.embed() 语句的函数。 这是在函数内的那个点初始化解释器以访问这些局部变量。

然而,当试图逃离嵌入式解释器时,它只会打开一个新的解释器(对于 for 循环大概最多 k 次),有效地锁定了该终端。

最好有一个类似于ipdbq ,它会立即抛出异常并退出到执行foo.py的 CLI。

最有用的评论

如果有一个命令可以完全停止脚本的执行,那就太好了。 相当于:

  1. %kill_embedded (是的,确定)
  2. exit
  3. “ctrl + c”(三遍)

所有3条评论

尝试%kill_embedded - 它不会跳出您的循环,但它应该使所有未来的embed()调用无操作,以便脚本的其余部分执行完成。

如果有一个命令可以完全停止脚本的执行,那就太好了。 相当于:

  1. %kill_embedded (是的,确定)
  2. exit
  3. “ctrl + c”(三遍)

%exit_raise将在外部上下文中引发异常,您的代码将退出

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

minrk picture minrk  ·  5评论

frenzymadness picture frenzymadness  ·  3评论

ederag picture ederag  ·  3评论

jakirkham picture jakirkham  ·  4评论

quchunguang picture quchunguang  ·  3评论