Jupyter Notebook 每次启动都回到 C 盘用户目录,通常不是你不会改,而是启动路径会同时受配置文件、快捷方式和命令行参数影响,改错一层就像没改。下面按长期生效、临时切换和排错三个场景拆开说明,照着检查后,基本可以判断到底是哪一层覆盖了你的设置。
长期固定启动目录,先改配置文件
如果目标是“以后每次打开都默认进同一个目录”,关键还是配置文件里的 c.NotebookApp.notebook_dir。只改快捷方式里的“起始位置”,或者只在命令行里临时加 --notebook-dir,都只能算临时方案,重启或换入口后很容易失效。
这一节最常见的几个问题是:生成了配置文件却没找到对应项、忘了删掉开头的 #、路径里直接用了单反斜杠,结果被 Python 当成转义字符处理。
先生成并定位配置文件
- 运行
jupyter notebook --generate-config - 记下输出的配置文件路径,通常是
C:Users用户名.jupyterjupyter_notebook_config.py - 用 VS Code 或记事本打开该文件,搜索
c.NotebookApp.notebook_dir
把 notebook_dir 改成目标目录
找到这一行后,需要删除最前面的 # 和前置空格,再改成你自己的目录。例如:
c.NotebookApp.notebook_dir = 'D:\\Jupyter_Projects'
这里要注意两点:
- Windows 路径建议使用双反斜杠
- 或者改用原始字符串写法,例如
r'D:Jupyter_Projects'
另外,目标目录需要提前手动创建。如果目录不存在,Jupyter 可能启动失败,并报出 Notebook failed to start。
配置改了还不生效,多半是快捷方式在覆盖
很多人已经正确修改了配置文件,但双击桌面图标后还是回到原来的目录,原因往往出在 Windows 快捷方式。这里最容易忽略的有两个位置:一个是“目标”字段末尾的 %USERPROFILE%,另一个是“起始位置”(Start in)。

只要这两个地方任意一个写了路径,就可能优先于配置文件生效。
重点检查“目标”和“起始位置”
- 右键桌面或开始菜单里的 Jupyter Notebook 快捷方式,打开“属性”
- 在“目标”栏里,删除末尾的
%USERPROFILE%,否则它会强制回到 C 盘用户目录 - 在“起始位置”栏里,清空或改成你希望使用的目录,比如
D:Jupyter_Projects - 点击“确定”后重新双击启动,再看左侧文件树是否已经从新目录展开
这一步的核心判断标准很简单:如果配置文件已经改对,但桌面启动仍不生效,就优先查快捷方式,而不是急着重装 Jupyter。
临时切换目录,用 --notebook-dir 最直接
如果你不想改配置文件,或者只是临时进入某个项目目录调试,命令行参数会更省事。它适合两类场景:一是快速验证路径有没有写对,二是在多个项目目录之间来回切换。
这种方式会忽略配置文件里的 c.NotebookApp.notebook_dir,也不受快捷方式干扰。
命令示例与使用注意点
打开 Anaconda Prompt,运行:
jupyter notebook --notebook-dir="D:MyProject"
- 启动后可以看窗口标题栏,确认实际加载的路径
- 如果你经常切换固定几个目录,可以把命令保存成
start_d.bat放到桌面 - 路径里如果包含空格,必须使用英文双引号包裹,否则命令会解析失败
这一招适合验证问题归属:如果命令行加参数后能正常进入目标目录,说明目录本身没问题,问题多半在配置文件或快捷方式覆盖上。
改完还是回到 C 盘,按这三项排查
如果浏览器里打开的仍然是 C:Usersxxx,通常不是路径机制本身复杂,而是实际读取的配置文件不是你刚改的那份,或者你启动 Jupyter 的入口和你以为的不一样。

1. 先确认它到底在读哪份配置
运行:
jupyter --config-dir
这个命令可以直接告诉你当前环境读取的是哪个配置目录。常见情况是 Anaconda 和 pip 安装的 Python 分属两套环境,于是你改了一份配置,实际启动时却读了另一份。
2. 用 --debug 看最终生效的目录
继续运行:
jupyter notebook --debug --notebook-dir="D:test"
重点看日志里的两类信息:
- 实际加载了哪个配置文件路径
- 最终生效的
notebook_dir是什么
这一步适合判断是不是别的参数、别的配置,或者别的启动入口把你的设置覆盖掉了。
3. 检查是否存在多个启动入口
别忽略多个快捷方式并存的情况。比如从 Anaconda Navigator 启动的 Jupyter,和桌面上的 Jupyter Notebook 快捷方式,可能根本不是同一条启动链路,对应的配置也未必互通。
所以排查时要把“我是从哪里启动 Jupyter 的”一起确认,不然很容易出现“明明改了配置却完全没反应”的错觉。
怎么选方案更合适
- 想长期固定默认目录:改
c.NotebookApp.notebook_dir - 改完不生效:优先检查快捷方式里的“目标”和“起始位置”
- 只想临时切换项目:直接用
--notebook-dir - 仍然回到 C 盘:先查
jupyter --config-dir,再用--debug看实际生效结果
这类问题的关键不在“路径怎么写”,而在“最后到底是哪一层设置接管了启动目录”。只要按配置文件、快捷方式、命令行参数这三层顺序排查,基本都能定位到原因。









