双击快捷方式闪退主因是启动路径错误、工作目录不存在或markupsafe版本不兼容;应将快捷方式目标改为jupyter-notebook.exe,设置有效起始位置,执行jupyter notebook --debug定位报错,降级markupsafe至2.0.1,并生成及配置jupyter_notebook_config.py指定合法notebook_dir。

双击快捷方式后黑窗闪退,基本不是 Jupyter 本身坏了,而是启动路径、工作目录或依赖版本出了问题。
检查快捷方式目标是否指向 jupyter-notebook.exe
很多闪退源于快捷方式“目标”字段错误地指向了已丢失或损坏的 jupyter-notebook-script.py。Windows 上新版 Anaconda(尤其 24.6+)默认不再生成该脚本,但旧快捷方式仍保留引用。
- 右键开始菜单里的 Jupyter Notebook 快捷方式 → 属性 → 查看“目标”栏
- 如果内容类似
"D:Anaconda3python.exe" "D:Anaconda3Scriptsjupyter-notebook-script.py",这就是问题根源 - 应改为直接调用
jupyter-notebook.exe:"D:Anaconda3Scriptsjupyter-notebook.exe"(路径按你实际安装位置调整) - 同时把“起始位置”设为一个真实存在的空文件夹,比如
D:jupyter-work,避免因默认路径不存在而崩溃
运行 jupyter notebook --debug 看真实报错
不靠猜,直接在终端里跑带调试参数的命令,能立刻暴露底层错误。常见两类输出:
- 报
ImportError: cannot import name 'soft_unicode' from 'markupsafe':说明markupsafe版本太高(≥2.1.0),Jinja2 和 notebook 7.x 不兼容 - 报
FileNotFoundError: [Errno 2] No such file or directory: 'C:\xxx\notebooks':说明配置里指定的c.NotebookApp.notebook_dir路径不存在或权限不足 - 只要看到具体错误行,就不用试一堆玄学方案——它已经告诉你该修什么了
修复 markupsafe 兼容性问题
这是近期最频繁的闪退诱因,尤其在升级过 pip 或手动装过 nbextensions 后。不是重装 Jupyter,而是降级一个依赖:
- 在 Anaconda Prompt 或普通终端中执行:
pip install --force-reinstall markupsafe==2.0.1 - 别用
pip install markupsafe -U,升级反而会触发问题 - 如果用 conda 环境,也可:
conda install markupsafe=2.0.1,效果一致 - 执行完无需重启系统,直接再试
jupyter notebook就能验证
确认并生成 jupyter_notebook_config.py 配置文件
闪退常因 notebook 启动时找不到合法工作目录,而配置文件缺失会让它尝试访问无效路径(比如已删除的旧项目文件夹)。
- 先运行:
jupyter notebook --generate-config,它会在~/.jupyter/下生成jupyter_notebook_config.py - 用记事本打开该文件,搜索
notebook_dir - 取消注释并填入一个**已存在**的路径:
c.NotebookApp.notebook_dir = 'D:/jupyter-work'(注意用正斜杠或双反斜杠,单反斜杠会报语法错误) - 保存后,该路径就成为 notebook 的根目录;后续双击快捷方式或命令行启动都会以此为准
真正卡住人的地方,往往不是“不知道怎么修”,而是没意识到:闪退窗口一闪而过,不代表没留线索;jupyter-notebook.exe 和 jupyter-notebook-script.py 是两个不同东西;markupsafe==2.0.1 这个版本号必须严格匹配,写成 2.0 或 2.0.2 都不行。











