启动jupyter notebook指定目录最直接方式是临时用--notebook-dir参数,永久修改需配置jupyter_notebook_config.py文件并正确处理路径转义和快捷方式中的%userprofile%覆盖问题。

启动时临时指定目录用 --notebook-dir
最直接的方式是不改任何配置,每次启动时加参数。比如想让 Notebook 打开 D:projects,就在命令行里执行:
jupyter notebook --notebook-dir="D:projects"
注意:--notebook-dir 必须写在 jupyter notebook 后面,不能颠倒顺序;路径带空格必须用双引号包裹;Windows 下反斜杠 没问题,但别写成 /(某些旧版本会解析失败);这个设置只对本次启动生效。
永久修改靠 jupyter_notebook_config.py 文件
生成配置文件后,它才是持久化修改的唯一可靠位置:
- 先运行
jupyter notebook --generate-config,记住输出的路径,通常是C:Users用户名.jupyterjupyter_notebook_config.py - 用文本编辑器打开该文件,搜索
c.NotebookApp.notebook_dir - 取消注释(删掉行首的
#),赋值为绝对路径,例如:c.NotebookApp.notebook_dir = 'D:\projects' - 路径中的反斜杠要写成双反斜杠
\或用原始字符串r'D:projects',否则 Python 会把p当转义符报错
快捷方式启动时参数被 %USERPROFILE% 覆盖
Windows 上通过桌面或开始菜单快捷方式启动,经常发现配置文件改了却没生效——根本原因是快捷方式“目标”字段末尾硬编码了 %USERPROFILE%,它会覆盖 c.NotebookApp.notebook_dir 设置。
解决方法:
- 右键快捷方式 → “属性” → 在“目标”栏里删掉末尾的
%USERPROFILE% - 同时把“起始位置”手动改成你的目标路径,比如
D:projects - 如果“目标”里还有其他参数(如
--no-browser),确保它们写在jupyter-notebook-script.py后面、不要和%USERPROFILE%混在一起
--ip、--port、--no-browser 这些常用参数怎么加
多个参数可以一起用,顺序无关,但必须都放在 jupyter notebook 后面:
jupyter notebook --ip=0.0.0.0 --port=9999 --no-browser --notebook-dir="D:projects"
常见组合说明:
-
--ip=0.0.0.0:允许局域网其他设备访问(配合--allow-root仅限 root 用户) -
--port=9999:换端口,避免 8888 被占;注意防火墙是否放行 -
--no-browser:不自动弹浏览器,适合远程 SSH 启动或后台运行 - 所有参数名区分大小写,
--Notebook-dir或--notebook_dir都无效,只能是--notebook-dir
真正容易被忽略的是:快捷方式里的 %USERPROFILE% 和配置文件里路径的转义问题,这两处出错,改再多遍 c.NotebookApp.notebook_dir 都不会生效。











