最可靠的方式是命令行指定路径启动jupyter notebook。使用jupyter notebook my_notebook.ipynb可自动启动服务、切换目录并打开文件;支持相对/绝对路径,含空格或中文需加引号;双击或关联方式易导致工作目录错误、端口冲突等问题。

直接在命令行里指定文件路径启动,是最可靠、最可控的方式。 其他方法(比如双击、关联默认程序)容易因工作目录、端口冲突或内核未加载导致打不开或行为异常。
用 jupyter notebook 命令直接打开指定文件
终端进入目标文件所在目录,或直接传入绝对/相对路径:
jupyter notebook my_notebook.ipynb
这会自动启动服务(如果没运行)、跳转到该文件所在目录,并在浏览器中直接打开它。关键点:
- 若当前已有
jupyter notebook进程在运行,默认复用同一个服务,不会新开一个端口 - 文件路径支持相对路径(如
./notebooks/demo.ipynb)和绝对路径(如/home/user/project/test.ipynb) - 如果路径含空格或中文,建议用引号包裹:
jupyter notebook "my demo.ipynb" - 不推荐用
jupyter lab my_notebook.ipynb启动单个文件——它会打开整个 Lab 界面,但焦点不一定落在该文件上
为什么不能只靠双击或文件关联?
Windows/macOS 上把 .ipynb 关联到 jupyter-notebook.exe 或 AppleScript 后,看似能双击打开,但实际常遇到:
- 工作目录是“启动器所在目录”,不是文件所在目录 → 无法访问同级数据文件(如
data.csv) - 多个双击触发多个 Jupyter 实例 → 端口依次变为 8889、8890… 占内存又难管理
- macOS 的 AppleScript 若没加
cd切换路径,jupyter notebook仍从 home 目录启动 - Windows 关联时若没写对
jupyter-notebook.exe路径(比如混用了jupyter.exe),会报错'jupyter' is not recognized
想让每次打开都自动进到文件目录?用 --notebook-dir
如果你总要打开某个固定位置下的 notebook(比如项目根目录),可以加参数锁定工作目录:
jupyter notebook --notebook-dir=/path/to/your/project my_notebook.ipynb
这样无论你在哪执行命令,Jupyter 都会以 /path/to/your/project 为根目录启动,且直接打开 my_notebook.ipynb。注意:
-
--notebook-dir必须在my_notebook.ipynb之前,顺序错会失效 - 路径必须真实存在,否则启动失败并提示
No such file or directory - 该设置不会影响已运行的 Jupyter 进程;每次命令都是独立上下文
真正麻烦的从来不是“怎么打开一个文件”,而是“打开后能不能立刻运行里面的代码”——路径不对、内核没装、依赖缺失,这些问题全藏在“打开”这个动作背后。所以别省那几秒 cd,先 cd 进目录再 jupyter notebook xxx.ipynb,稳得多。











