最优先修改快捷方式target中的%userprofile%参数,否则配置文件设置将被完全覆盖;需删除该参数或替换为带英文双引号的完整路径,并同步修改“起始位置”,同时确保目标目录已手动创建且路径全英文无特殊字符。

直接改快捷方式 Target 是最优先要做的
绝大多数人改了配置文件却没生效,根本原因就是 Windows 桌面或开始菜单里的 Jupyter Notebook 快捷方式在启动时硬编码传入了 %USERPROFILE%。这个参数会覆盖所有配置,包括 jupyter_notebook_config.py 里的设置。
操作步骤:
- 右键点击你实际点击启动的那个快捷方式(桌面图标 / 开始菜单里的“Jupyter Notebook”)→ 属性 → “快捷方式”选项卡
- 找到“目标(T):”一栏,把末尾的
%USERPROFILE%整个删掉 - 如果想指向新路径(比如
D:\Jupyter),就把它替换成完整路径:D:\Jupyter;路径含空格必须加英文双引号,例如:"D:\My Jupyter" - 顺手把下方“起始位置(S):”也改成同一路径,这是第二道保险
配置文件里必须取消注释并填对路径
jupyter_notebook_config.py 不是写了就生效——它只在没有命令行参数干扰时才起作用。而一旦快捷方式带了路径参数,它就完全被跳过。
关键实操点:
- 先确保目录已存在:手动创建好目标文件夹(如
D:\Jupyter),否则 Jupyter 启动失败、直接闪退 - 用
jupyter notebook --generate-config生成配置(若还没生成过) - 打开配置文件,搜索
c.NotebookApp.notebook_dir,删掉行首的#,确保前面**没有空格** - 路径写法推荐用原始字符串:
c.NotebookApp.notebook_dir = r'D:\Jupyter',避免反斜杠转义问题 - 别用单个反斜杠
\直接写,比如'D:\Jupyter'会被 Python 解释成D:Jupyter(\J被当成转义)
不同启动方式对应不同生效逻辑
你改完配置后发现“有时生效、有时不生效”,大概率是因为启动入口不统一:
- 从 Anaconda Prompt 手动执行
jupyter notebook→ 读取配置文件,忽略快捷方式逻辑 - 从开始菜单/桌面快捷方式启动 → 优先执行 Target 里的命令行参数,
%USERPROFILE%或你填的新路径直接生效,配置文件被绕过 - 从 Anaconda Navigator 启动 → 行为取决于底层调用方式,部分版本仍会注入用户目录,建议统一用快捷方式方式管理
所以,如果你日常只用快捷方式,那配置文件其实可以不改——但必须改快捷方式;反之,如果主要用命令行,那配好 jupyter_notebook_config.py 就够了。
路径不存在、权限不足、中文路径都可能让 Jupyter 启动失败
哪怕 Target 和配置都写对了,Jupyter 还是打不开?常见静默失败原因:
- 目标路径不存在:Windows 不会自动创建,必须提前手动建好文件夹
- 路径含中文或特殊符号(如
&、():某些旧版 Jupyter 会解析失败,建议全用英文路径 - 权限问题:比如设到
C:\Program Files下,普通用户无写入权,新建 notebook 会报错 - 杀毒软件拦截:个别安全软件会阻止 Python 进程访问非系统盘路径,临时关闭试试
最稳妥的做法是选一个你有完全控制权的盘符根目录下建文件夹,比如 D:\jupyter,全英文、无空格、提前创建好。











