运行 jupyter notebook --generate-config 是唯一可靠方式生成配置文件 jupyter_notebook_config.py,该文件不会随安装自动创建;执行后输出路径即为需编辑的文件位置,修改后必须重启 jupyter 进程才生效。

运行 jupyter notebook --generate-config 是唯一可靠方式
配置文件 jupyter_notebook_config.py 不会随 Jupyter 安装自动创建,必须显式生成。直接启动 jupyter notebook 不会触发配置文件生成,也不会读取不存在的配置 —— 它只会用内置默认值运行。
在任意终端(Anaconda Prompt、CMD、PowerShell、bash)中执行:
jupyter notebook --generate-config
成功后会输出类似:
Writing default config to: C:UsersYourName.jupyterjupyter_notebook_config.py
这个路径就是你要编辑的文件位置。注意:
- 如果提示
Overwrite ...? [y/N],输入y确认覆盖(旧配置会被清空) - 路径中的
YourName是当前 Windows 用户名,Linux/macOS 下是当前用户名,不是Administrator或root除非你真以该用户登录 - 若执行后无任何输出,说明命令未识别 —— 检查是否已安装 Jupyter(
jupyter --version应返回版本号),或是否在正确环境(如 conda base 环境)中
c.NotebookApp.notebook_dir 和 c.ServerApp.notebook_dir 到底该改哪个?
新版 Jupyter(≥6.0,尤其 7.x 后)已逐步迁移到 ServerApp 配置体系,但兼容性保留了 NotebookApp。实际生效取决于你启动的是 jupyter notebook 还是 jupyter server:
- 用
jupyter notebook命令启动 → 优先读c.NotebookApp.notebook_dir - 用
jupyter server或新版 JupyterLab 启动 → 优先读c.ServerApp.notebook_dir - 两个都设且值不同?
jupyter notebook忽略c.ServerApp的设置
为保险起见,建议同时设置(取消注释并填入相同路径):
c.NotebookApp.notebook_dir = 'D:\my_notebooks'<br>c.ServerApp.notebook_dir = 'D:\my_notebooks'
注意路径分隔符:Windows 下推荐双反斜杠 \ 或原始字符串写法 r'D:my_notebooks',单反斜杠 可能被误解析为转义字符(如
)
修改后不生效?重点检查这三个地方
改完配置文件保存重启,浏览器打开仍显示旧目录,大概率不是配置写错了,而是启动方式绕过了配置:
-
快捷方式残留参数:开始菜单里的 “Jupyter Notebook” 快捷方式,右键 → 属性 → “目标”栏末尾常带
%USERPROFILE%或完整路径,这会强制覆盖配置项 —— 把它整个删掉,只留"C:path ojupyter-notebook.exe" -
环境变量干扰:某些安装(如 ArcGIS Pro 自带 Jupyter)会把自身路径加进
PATH,导致你执行的jupyter不是 conda 环境里的那个 —— 运行where jupyter(Windows)或which jupyter(macOS/Linux)确认实际调用路径 -
配置文件位置错乱:Jupyter 会按顺序查找多个位置的配置(系统级、环境级、用户级),用户级路径是
~/.jupyter/(Windows 为C:UsersYourName.jupyter)。别去anaconda3etcjupyter或site-packages下改 —— 那些不是你该动的地方
配置文件生成失败的常见报错和应对
执行 jupyter notebook --generate-config 报错时,先看错误信息关键词:
-
Command 'jupyter' not found→ 未安装或未激活 conda 环境;运行conda activate base再试,或重装:conda install -c conda-forge jupyter -
PermissionError: [Errno 13] Permission denied→ 当前用户无权写入.jupyter目录;用管理员模式打开终端,或手动创建C:UsersYourName.jupyter文件夹再试 - 静默退出、无输出、也无文件生成 → 可能是 Jupyter 被破坏;尝试
python -m jupyter notebook --generate-config强制通过 Python 模块方式调用
最易被忽略的一点:配置文件生成后,必须**重启整个 Jupyter 进程**(不只是刷新网页),否则旧进程仍读缓存或旧配置。关闭所有 jupyter notebook 终端窗口,再重新运行命令启动。











