真正永久生效必须修改配置文件中的c.NotebookApp.notebook_dir,需生成配置、取消注释、正确转义路径,并清空快捷方式的“目标”和“起始位置”覆盖项。

配置文件里改 c.NotebookApp.notebook_dir 才算真正生效
只改快捷方式“起始位置”或命令行加 --notebook-dir 是临时方案,重启后容易失效。真正永久生效必须修改配置文件里的 c.NotebookApp.notebook_dir。
常见错误是:生成配置后没找到这行、没删掉开头的 #、路径里用了单反斜杠 (Python 会当成转义字符)。
- 先运行
jupyter notebook --generate-config,记下输出的配置文件路径(通常是C:Users用户名.jupyterjupyter_notebook_config.py) - 用 VS Code 或记事本打开该文件,Ctrl+F 搜索
c.NotebookApp.notebook_dir - 找到后删掉整行最前面的
#和所有前置空格,改成类似这样:c.NotebookApp.notebook_dir = 'D:\Jupyter_Projects'(注意双反斜杠或用原始字符串写法r'D:Jupyter_Projects') - 确保目标目录已手动创建好,否则 Jupyter 启动失败,报错
Notebook failed to start
快捷方式的“目标”和“起始位置”都要检查
很多人改完配置文件却没生效,是因为 Windows 快捷方式里藏着两个覆盖项:一个是“目标”字段末尾的 %USERPROFILE%,另一个是“起始位置”(Start in)。
这两个地方任意一个写了路径,都会优先于配置文件生效。
- 右键桌面或开始菜单里的 Jupyter Notebook 快捷方式 → “属性”
- 在“目标”栏里,删掉末尾的
%USERPROFILE%(它会强制跳回 C 盘用户目录) - 在“起始位置”栏里,清空或填入你想要的目录(比如
D:Jupyter_Projects),这个值会影响命令行启动时的当前工作目录 - 改完点“确定”,再双击启动,才能看到左侧文件树真正从新目录展开
--notebook-dir 参数适合快速验证或多项目切换
不想动配置文件?或者要临时进某个子项目调试?直接命令行启动时加参数最干净。
它会完全忽略配置文件里的 c.NotebookApp.notebook_dir,也不受快捷方式干扰,适合验证路径是否正确。
- 打开 Anaconda Prompt,运行:
jupyter notebook --notebook-dir="D:MyProject" - 窗口标题栏会显示实际加载的路径,一眼就能确认是否到位
- 如果常用某几个路径,可以把命令存成
start_d.bat放桌面,双击即用 - 注意:路径含空格必须用英文双引号包裹,否则解析失败
改完启动还是进 C 盘?优先查这三件事
配置看似改对了,但浏览器打开仍是 C:Usersxxx,大概率不是配置本身问题,而是加载了错误的配置文件,或被其他机制覆盖。
别急着重装,先快速排查:
- 运行
jupyter --config-dir,确认它读的是哪个目录下的配置(可能 Anaconda 和 pip 安装的 Python 有两套环境) - 启动时加
--debug参数:jupyter notebook --debug --notebook-dir="D: est",看日志里实际加载的配置路径和最终生效的notebook_dir - 检查有没有多个快捷方式——比如 Anaconda Navigator 启动的 Jupyter 和桌面快捷方式走的是不同入口,配置不互通
路径机制本身不复杂,但多层覆盖叠加后,最容易被忽略的是“哪个配置文件真正在被读”。


















