You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Jupyter Notebook中Shell命令/行魔法命令执行失败时终止单元格运行?

让Jupyter Notebook中Shell/魔法命令出错时终止单元格执行

方法1:给Shell命令添加set -e

在!开头的Shell命令前加上set -e,它会让Shell在任何命令执行失败时立即退出,Jupyter会捕获这个错误并终止当前单元格的后续执行:

!set -e; pip install foo

方法2:使用%%bash单元格魔法并启用set -e

如果整个单元格都是Shell命令,用%%bash魔法开头,再加上set -e,这样单元格内任意命令出错都会终止执行:

%%bash
set -e
pip install foo
# 下面的命令只有上面成功才会执行
echo "安装完成"

方法3:用Python的subprocess模块替代!

通过Python的subprocess模块执行命令,设置check=True,这样命令失败时会抛出CalledProcessError,直接终止单元格:

import subprocess
# 执行命令,失败则抛出异常终止单元格
subprocess.run(["pip", "install", "foo"], check=True)

方法4:针对%pip等魔法命令的处理

%pip魔法本身不会主动终止单元格,但可以通过捕获它的返回状态来手动终止。比如检查命令的返回码:

# 执行%pip命令并获取返回码
ret = %pip install foo
# 如果返回码非0,抛出异常终止
if ret.returncode != 0:
    raise RuntimeError("pip安装失败")

内容的提问来源于stack exchange,提问作者Adam Stewart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:42:31