如何在 Windows 上更改 Jupyter Notebook 的默认根目录  第1张

本文介绍三种可靠方法修改 jupyter notebook 启动时的默认工作目录,包括命令行临时指定、配置文件永久设置(适配新版 jupyter 的 `serverapp` 配置迁移),并特别说明网络驱动器(如映射的 `d:` 盘)的注意事项。

在 Windows 系统中,Jupyter Notebook 默认启动目录为当前命令行所在路径(若直接双击启动,则通常是用户主目录)。若需固定使用特定目录(例如 D:\_Travail\Python\Jupyter_projects),有以下三种经验证有效的方法,请优先尝试方法一(即时生效、无需配置)

✅ 方法一:命令行启动时指定目录(推荐,最简单可靠)

打开 Anaconda Prompt(或任意终端,确保 jupyter 命令可用),执行:

jupyter notebook --notebook-dir "D:\_Travail\Python\Jupyter_projects"
⚠️ 注意:路径中使用英文双引号包裹,支持正斜杠 / 或转义反斜杠 \\,但不建议仅用单个 \(易被误解析为转义符)。 ✅ 优势:无需修改配置文件,每次可灵活切换;兼容网络驱动器(如映射的 D: 盘),只要该路径对当前用户可读写且网络连接稳定即可。

✅ 方法二:通过配置文件永久设置(适配 Jupyter ≥ 6.4+)

新版 Jupyter(尤其是 Jupyter Server 2.0+)已将 notebook_dir 迁移至 ServerApp 配置项。请按以下步骤操作:

  1. 生成或定位配置文件:
    在终端运行

    jupyter server --generate-config

    将生成 jupyter_server_config.py(通常位于 ~\.jupyter\jupyter_server_config.py)。

  2. 编辑该文件,取消注释并修改以下行:

    c.ServerApp.root_dir = r'D:\_Travail\Python\Jupyter_projects'
    # 或使用正斜杠(更安全):
    # c.ServerApp.root_dir = 'D:/_Travail/Python/Jupyter_projects'

    ? 关键点:

    • 使用 c.ServerApp.root_dir(不是旧版的 c.NotebookApp.notebook_dir);
    • root_dir 是 Jupyter Server 的标准参数,明确指定根目录;
    • 若同时存在 jupyter_notebook_config.py,建议删除或注释掉其中的 notebook_dir 设置,避免冲突。
  3. 启动时无需额外参数:

    jupyter server  # 或 jupyter notebook(自动调用 server)

⚠️ 特别注意:网络驱动器(如 D: 映射盘)的常见问题

  • 权限与稳定性:确保该网络路径对当前 Windows 用户具有完全控制权限,且网络连接持续可用。Jupyter 启动时会校验目录可访问性,若网络中断或权限不足,将报错退出。
  • 路径格式建议:优先使用 UNC 路径(如 \\server\share\Jupyter_projects)替代映射盘符,可规避盘符未加载导致的启动失败。若必须用 D:,请在启动前手动打开资源管理器确认 D: 可正常访问。
  • 防坑提示:不要在配置中使用环境变量(如 %USERPROFILE%),Jupyter Server 不解析 Windows 环境变量;如需动态路径,请改用 Python 表达式(如 os.path.expanduser(r'~/Jupyter')),但需确保 import os 已在配置文件顶部声明。

总结

方法 适用场景 是否支持网络驱动器 配置复杂度
--notebook-dir 命令行参数 快速测试、多项目切换 ✅ 强烈推荐 ⭐☆☆☆☆(零配置)
c.ServerApp.root_dir 配置 固定工作流、团队标准化 ✅(需确保网络稳定) ⭐⭐☆☆☆(低)
旧版 NotebookApp.notebook_dir ❌ 已弃用,新版将忽略 ⚠️ 不推荐

执行任一有效方法后,启动 Jupyter 时左上角将显示目标路径,新建 Notebook 默认保存于此,文件浏览器也以此为根目录。建议首次使用网络路径时,先在资源管理器中手动创建测试文件夹并写入文件,验证基础读写权限无误后再配置 Jupyter。