如何退出%%script python --no-raise-error模式恢复错误终止功能?
恢复Jupyter Notebook中Python代码遇错自动终止的功能
检查IPython全局配置
- 定位IPython配置文件:在终端执行
ipython profile locate,获取配置文件所在路径 - 打开路径下的
ipython_config.py,搜索以下相关配置项:- 查找
c.InteractiveShell.xmode,确保其值为默认的'Context'(若被改为'Plain'或其他值,会抑制错误回溯) - 检查是否存在自定义的异常处理钩子代码(比如修改
sys.excepthook的设置),若有则删除或注释掉
- 查找
重置内核运行时异常处理
在Notebook中运行以下代码,强制恢复默认的错误处理逻辑:
import sys # 恢复系统默认的异常处理钩子 sys.excepthook = sys.__excepthook__ # 重置IPython的错误显示模式 from IPython.core.interactiveshell import InteractiveShell shell = InteractiveShell.instance() shell.xmode = 'Context'
排查可疑扩展或包
- 执行
pip list查看已安装的IPython/Jupyter相关包,若存在ipython-autoreload或其他自定义扩展,尝试卸载后重启内核 - 检查Notebook的已启用扩展,禁用可能干扰错误处理的第三方扩展
验证修复效果
运行一段会触发错误的代码测试,例如:
1 / 0
若内核正常终止并显示完整的错误回溯信息,说明功能已恢复。
内容的提问来源于stack exchange,提问作者Very_new_to_this
相关产品推荐
相关产品推荐

