VS Code打开Jupyter Lab创建的ipynb文件时自动生成十六进制后缀副本怎么办
VS Code打开Jupyter Lab创建的ipynb文件自动生成带十六进制后缀副本问题解决
原因说明
该问题是VS Code 1.62.x版本配套的旧版Jupyter扩展的已知bug:Jupyter Lab/Notebook创建的ipynb文件元数据字段,和旧版Jupyter扩展的元数据校验规则不匹配,运行代码时扩展误判文件存在冲突,触发了临时副本生成逻辑。VS Code内部新建的ipynb文件自带符合规则的元数据,因此不会触发该异常。
问题现象参考:
解决方案
- 方案1:升级Jupyter扩展(最推荐)
该bug在v2021.11.1001489886及之后的Jupyter扩展版本已被官方修复。打开VS Code扩展面板,搜索Jupyter,点击升级按钮后重启VS Code即可完全解决问题。 - 方案2:修改问题文件元数据适配
如果暂时无法升级扩展,可以手动修改出问题的.ipynb文件,在最外层的metadata字段中补全内核和语言信息:
{ "cells": [...], // 原有单元格内容保持不变 "metadata": { // 原有metadata内容保留,补充以下字段 "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" }, "language_info": { "name": "python", "version": 3 } }, "nbformat": 4, "nbformat_minor": 5 }
修改后保存文件,再次打开运行就不会生成副本。
- 方案3:临时关闭相关配置(仅应急使用)
打开VS Code设置页,搜索Jupyter: Generate Temporary Notebooks,取消勾选该选项,可临时阻止副本生成。该方案会影响Jupyter扩展的异常备份能力,不建议长期使用。
内容的提问来源于stack exchange,提问作者jmich738
相关产品推荐
相关产品推荐

