VSCode中Jupyter扩展运行单元格时总是执行错误单元格如何解决?
VSCode Jupyter 单元格执行错位故障修复方案
1. 优先排查Jupyter扩展相关问题
- 降级/更新Jupyter扩展到稳定版本:v2023.9.x之后的部分Jupyter扩展版本存在单元格索引映射bug,可直接在扩展管理界面找到Jupyter扩展,点击设置图标,选择「安装另一个版本」,优先选择v2023.8.100等用户反馈稳定性较高的版本,安装后重启VSCode验证。
- 禁用Jupyter相关冗余扩展:检查是否安装了Jupyter Keymap、Jupyter Cell Tags等非必要扩展,临时禁用后测试是否复现,部分快捷键扩展冲突会导致执行目标单元格识别错误。
- 重置Jupyter扩展配置:按
Ctrl+,打开设置,搜索@ext:ms-toolsai.jupyter reset,点击「重置设置」按钮,清除所有自定义的Jupyter运行配置。
2. 内核加载相关配置修正
- 替换手动重启内核的操作:不需要反复重启内核来加载修改后的本地模块,在你需要导入自定义模块的单元格最上方添加以下代码,实现模块自动重载,避免频繁重启内核导致的状态异常:
%load_ext autoreload %autoreload 2
- 清理内核会话缓存:打开Anaconda Prompt,执行
jupyter kernelspec list找到你当前使用的Python内核路径,进入对应目录删除kernel.json之外的所有临时缓存文件,之后重新在VSCode中选择该内核启动。 - 确认内核匹配:打开Notebook右上角的内核选择界面,确认当前选中的内核是你Anaconda环境对应的Python解释器,避免多个内核共存导致的会话映射错误。
3. VSCode缓存清理
- 关闭所有VSCode窗口后,按
Win+R输入%APPDATA%\Code,删除里面的CachedData、Cache、GPUCache三个文件夹。 - 输入
%USERPROFILE%\.vscode\extensions,找到ms-toolsai.jupyter-开头的文件夹,删除所有历史版本的残留文件夹,只保留当前安装的版本文件夹。
4. 永久规避方案
- 每次编辑完自定义模块后,不要连续快速执行多个单元格,等待当前单元格执行完成后再执行下一个操作。
- 关闭VSCode的「恢复上次会话」功能:设置里搜索
window.restoreWindows,设置为none,避免异常会话残留到下次启动。
内容的提问来源于stack exchange,提问作者shishkebab
相关产品推荐
相关产品推荐

