Jupyter Notebook执行Run All Cells失败,逐单元格手动运行功能正常
Jupyter Notebook 批量执行失效问题解决方案
- 排查执行顺序依赖问题
先执行Kernel->Restart Kernel and Clear All Outputs清除所有缓存变量,再直接点击Run All Cells复现问题,查看报错信息确认是否存在变量调用早于变量定义/赋值的情况:手动逐单元格运行时通常会按照逻辑顺序点击,批量执行会严格按照单元格从上到下的顺序运行,调整单元格顺序后未同步修改代码逻辑是这类问题最常见的诱因。 - 确认转换逻辑的返回值被正确赋值
pd.to_numeric不会直接修改原数据列,必须显式赋值才会生效,示例正确写法为df['目标列名'] = pd.to_numeric(df['目标列名'], errors='coerce')。你可以在pd.to_numeric代码行后加一行print(df['目标列名'].dtype),分别对比逐格运行、批量运行后的输出结果,确认转换逻辑是否实际执行。 - 排查特殊命令执行冲突
如果用到%%time、%%capture等单元格魔术命令,或是存在异步执行、多进程代码,批量运行时可能出现执行截断、后续逻辑提前运行的问题,可以临时注释所有魔术命令、给异步逻辑加等待代码后再测试。 - 重置Jupyter运行环境
关闭所有Jupyter页面,在终端执行jupyter notebook stop关闭现有服务,再重新执行jupyter notebook启动服务打开文件测试,排除会话缓存导致的执行异常。
内容的提问来源于stack exchange,提问作者data_runner
相关产品推荐
相关产品推荐

