新版jupyter(≥7.0)已弃用c.notebookapp.notebook_dir,应改用c.serverapp.root_dir;需确保路径存在、快捷方式未硬编码路径、runtime缓存已清理。

配置文件里找不到 c.NotebookApp.notebook_dir 怎么办
新版 Jupyter(≥7.0)已弃用 c.NotebookApp.notebook_dir,改用 c.ServerApp.root_dir。直接搜不到这行不是配置文件损坏,而是变量名变了。
打开 jupyter_notebook_config.py 后,用 Ctrl+F 搜索 root_dir 或 ServerApp,通常能找到这一行:
## The directory to use for notebooks and kernels.<br>#c.ServerApp.root_dir = ''
删掉前面的 #,填入绝对路径(注意单引号、反斜杠要双写):
c.ServerApp.root_dir = 'D:\my_jupyter'
如果连 c.ServerApp.root_dir 都没出现,说明配置文件是旧版模板或被删减过——直接手动添加一行即可,位置放在文件末尾或靠近其他 c.ServerApp.* 配置附近。
改完配置重启还是打开旧目录
常见原因是快捷方式“目标”字段里硬编码了启动路径,覆盖了配置文件设置。
右键桌面或开始菜单里的 Jupyter Notebook 快捷方式 → 属性 → “目标”栏,检查结尾是否有类似这样的内容:
"%USERPROFILE%"
如果有,把它整个删掉(只保留引号内的 Python 路径和 jupyter-notebook.exe 部分);同时确认“起始位置”栏也填的是你想要的路径,比如:D:my_jupyter。
另外注意:命令行直接运行 jupyter notebook 时,它只读配置文件,不读快捷方式属性;但双击快捷方式时,两者都会参与,且快捷方式参数优先级更高。
启动报错 “No such notebook dir”
这个错误说明 Jupyter 找不到你指定的路径,不是配置写错了,而是路径本身不存在或权限不足。
- 确保路径已真实存在,比如
D:\my_jupyter目录必须提前手动创建好(不能只写路径,不建文件夹) - 路径中避免中文、空格、特殊符号;推荐全英文、无空格、用双反斜杠
\或正斜杠/ - 如果路径在非系统盘(如 D:),确认当前用户对该盘有读写权限(尤其公司电脑可能限制 D 盘写入)
- 若用 Anaconda Prompt 启动,确保没以受限权限运行(比如没勾选“以管理员身份运行”,但目标路径需要管理员权限)
修改后浏览器打开的是 file:// 而不是 http://localhost
这不是路径设置问题,而是 Jupyter 运行时残留了旧的临时服务文件,导致浏览器被引导到本地 HTML 文件而非 HTTP 服务。
关掉所有 Jupyter 进程(任务管理器里杀掉 python.exe 和 jupyter-notebook.exe),然后删除运行时缓存:
Windows 下进入:C:Users{你的用户名}AppDataRoamingjupyter
untime,删掉所有 jpserver-* 和 nbserver-* 文件。
Mac/Linux 则删:~/.jupyter/runtime/ 下同类文件。下次启动会自动生成新文件,URL 就会恢复正常 http 地址。
真正卡住的地方往往不在配置本身,而在路径是否存在、快捷方式是否劫持、以及 runtime 文件是否干净——这三个点漏一个,改了也白改。











