直接改配置文件可永久生效,但需注意路径写法、文件存在性、快捷方式残留三点;jupyter_notebook_config.py需手动创建,用jupyter notebook --generate-config生成;c.notebookapp.notebook_dir须填已存在的绝对路径,推荐正斜杠格式,且路径不能含中文、空格或特殊符号;还需检查并删除快捷方式目标中的默认路径参数,否则仍会跳转c盘。

直接改配置文件就能永久生效,但必须注意路径写法、文件存在性、快捷方式残留这三点,否则重启后还是回到C盘。
怎么找到并生成 jupyter_notebook_config.py
配置文件不是自带的,得手动创建。打开 Anaconda Prompt(不用管理员权限也行),执行:
jupyter notebook --generate-config
终端会输出类似 C:Users你的用户名.jupyterjupyter_notebook_config.py 的路径。这个文件如果不存在,命令会自动创建;如果已存在,就跳过生成,只输出路径。
常见错误现象:执行后没反应或报错“command not found”——说明 jupyter 没进系统 PATH,优先重开 Anaconda Prompt,别用普通 CMD。
c.NotebookApp.notebook_dir 要怎么填才有效
用记事本、VS Code 或 Notepad++ 打开上面生成的 jupyter_notebook_config.py,搜索 c.NotebookApp.notebook_dir。默认这行是被注释掉的:
#c.NotebookApp.notebook_dir = ''
去掉开头的 # 和空格,填入你想要的绝对路径。关键细节:
- 路径必须是**已存在的文件夹**,比如
D:jupyter_projects,不能是D:jupyter_projects ew(如果 new 还没建好) - Windows 下推荐用正斜杠
/,避免转义问题:c.NotebookApp.notebook_dir = 'D:/jupyter_projects' - 如果坚持用反斜杠,必须双写
\或加前缀r:c.NotebookApp.notebook_dir = r'D:jupyter_projects' - 路径里**不要有中文、空格、特殊符号**,否则启动时报错闪退
为什么改了配置还是保存在C盘?检查快捷方式目标
很多人改完配置重启仍无效,是因为 Windows 开始菜单里的 Jupyter Notebook 快捷方式自带启动参数,会覆盖配置。右键开始菜单里的图标 → “更多” → “打开文件位置”,再右键快捷方式 → “属性” → “快捷方式”选项卡 → 看“目标”栏:
"%USERPROFILE%Anaconda3Scriptsjupyter-notebook.exe" "%USERPROFILE%/"
最后的 "%USERPROFILE%/" 就是罪魁祸首。把它整个删掉,只保留前面的 exe 路径,点击“应用”。否则每次点开始菜单启动,都会强制切到 C 盘用户目录。
验证是否生效:关闭所有 Jupyter 进程(任务管理器里杀掉 python.exe 或 jupyter-notebook.exe),再从快捷方式或命令行重新启动,首页顶部显示的路径就是新位置。
改完路径后要注意什么
新路径下不会自动继承旧项目,历史 .ipynb 文件还在原处,得手动搬过去。另外:
-
os.getcwd()在 notebook 里返回的是 notebook 当前所在目录,不是配置的notebook_dir;它只影响新建文件的默认位置 - JupyterLab 用户注意:新版 Lab 默认读
c.ServerApp.root_dir,但兼容c.NotebookApp.notebook_dir,填后者更稳妥 - 如果用 conda env 管理环境,确保修改的是当前激活环境下的 jupyter 配置,而不是 base 环境的
最常被忽略的一点:路径末尾不加斜杠,也不加引号外的任何字符,'D:/notebooks' 正确,'D:/notebooks/' 或 "D:/notebooks" 都可能触发异常。











