Jupyter Notebook 怎么修改默认启动目录

江岸
江岸
发布时间:2026-08-22| 90人浏览过
原创

前言

Jupyter Notebook 默认总是从 C 盘用户目录启动,很多时候不是目录没改对,而是配置文件、快捷方式和命令行参数之间存在覆盖关系。本文把长期生效的配置方法、Windows 快捷方式里的常见覆盖项,以及启动后仍回到旧目录时的排查思路拆开说明,方便你快速判断问题到底出在哪一层。

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 默认启动目录的生效链路图,展示配置文件、Windows 快捷方式和命令行参数三层覆盖关系。
启动目录到底由谁说了算把启动目录改不生效时,先看是哪一层覆盖了前面的设置。

只要这两个地方任意一个写了路径,就可能优先于配置文件生效。

重点检查“目标”和“起始位置”

  • 右键桌面或开始菜单里的 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 的入口和你以为的不一样。

Jupyter Notebook 默认目录排错清单图,概括配置目录确认、debug 日志查看和多启动入口检查三项。
仍回 C 盘时的排错路径启动后仍回到 C 盘时,优先确认它实际读取的是哪份配置。

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 看实际生效结果

这类问题的关键不在“路径怎么写”,而在“最后到底是哪一层设置接管了启动目录”。只要按配置文件、快捷方式、命令行参数这三层顺序排查,基本都能定位到原因。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。