【问题标题】:Can I stop execution of current module in ipython without leaving ipython我可以在不离开 ipython 的情况下停止在 ipython 中执行当前模块吗
【发布时间】:2011-08-27 13:18:33
【问题描述】:

我想跳出当前正在运行的程序并返回到 shell(无需重新启动 ipython)

【问题讨论】:

    标签: ipython


    【解决方案1】:

    在 Windows 上重新安装 console2 和 ipython 后,我遇到了同样的问题。如果您使用 ipython.exe 启动器,这似乎是一个问题,它只会关闭整个窗口。但是,如果您改为使用

    启动 ipython

    python C:\python27\scripts\ipython-script.py

    然后它会很好地捕获并处理 KeyboardInterrupt 并将我留在 ipython 提示符下。万岁。

    【讨论】:

    • 完全可以,你可以在命令中添加--confirm-exit
    【解决方案2】:

    Control-C 在普通的交互式 Python shell 中工作,它也应该在 ipy 中工作(除了程序正在捕获键盘中断异常)

    【讨论】:

    • 我在 Mac atm 上,它可以工作。可能是设置或 Windows 的东西。它与干净的配置文件的行为相同吗?
    • 之所以如此,是因为在 Windows 中提供了一个名为 ipython.exe 的单独启动器。由于这只是打开了一个 python shell,它的退出标准是关闭进程,即 shell(因此在这种情况下它会关闭窗口)
    【解决方案3】:

    有点像 jenky 的方法,但我经常可以通过键入类似以下内容的方式退出进程而不退出 ipython:']='。它会创建一个语法错误,终止进程,从而将您返回到 ipython shell。

    【讨论】:

    • 这不会对已经运行的代码做任何事情,即。如果您开始一个长时间运行的循环,并且在执行时您输入了垃圾字符,则循环将不会中断,并且在循环完成后将引发合成错误。
    【解决方案4】:

    这个答案可能有点晚了,但是对于任何来寻找答案的人来说,你可以使用 ESC

    【讨论】:

    • Ctrl Break 怎么样?
    【解决方案5】:

    对于当前版本的 IPython(Jupyter),您只需单击内核选项卡下的中断选项即可。

    【讨论】:

    • 问题不在于 Ipython Notebook(现在的 Jupyter),而在于 IPython(交互式 shell)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    相关资源
    最近更新 更多