jupyter启动慢的根源在于冗余配置,优化三要点:固化工作目录跳过扫描、精简path避免解释器错乱、隔离轻量内核减少导入耗时,辅以禁用非必要扩展。

启动慢不是因为 Jupyter 本身慢,而是默认配置加载了太多冗余组件、路径查找耗时、内核初始化拖沓。直接改配置能压到 6 秒以内,关键在三个地方:工作目录固化、环境路径精简、内核预装隔离。
指定 notebook_dir 避免每次扫描整个家目录
默认启动时,Jupyter 会从当前路径向上逐级找 .ipynb 文件,再 fallback 到用户主目录,尤其 Windows 下 NTFS 搜索很慢。固定目录后跳过这步。
- 运行
jupyter notebook --generate-config生成jupyter_notebook_config.py - 编辑该文件,取消注释并设置:
c.NotebookApp.notebook_dir = 'D:/projects/notebooks' - 确保路径存在且有读写权限,避免启动时因权限失败又 fallback 到默认路径
清理 PATH 中的 Python 冗余路径防止解释器错乱
Anaconda Prompt 启动时若 PATH 里混着多个 Python 安装(比如旧版 Miniconda、系统 Python、VS Code 自带 Python),jupyter 命令可能调用错解释器,导致内核加载失败或延迟初始化。
- 在 Anaconda Prompt 中执行
echo %PATH% | findstr "python"查看实际生效的 Python 路径 - 只保留当前 conda 环境的
Scripts和Library\bin目录,删掉其他 Python 相关路径 - 更稳妥做法:用
conda activate your_env && jupyter notebook替代全局调用,避免 PATH 干扰
用专用虚拟环境 + 预注册内核减少启动依赖链
在 base 环境装一堆包(如 TensorFlow、PyTorch)会让内核启动时导入大量模块,光 import numpy 就可能卡 1–2 秒。隔离环境后,仅装 jupyter 和必要库,内核启动快得多。
- 创建轻量环境:
conda create -n nb_fast python=3.9 jupyter pandas matplotlib - 激活后注册内核:
python -m ipykernel install --user --name=nb_fast - 启动时加参数指定内核:
jupyter notebook --kernel=nb_fast,避免自动探测耗时
禁用非必要扩展和自动补全降低前端开销
某些第三方扩展(如 jupyter_contrib_nbextensions)会在页面加载时注入大量 JS,尤其在老旧浏览器或低配机器上明显拖慢渲染。补全服务(lsp)也会在后台预加载 AST。
- 临时禁用所有扩展启动:
jupyter notebook --no-browser --NotebookApp.nbserver_extensions={} - 永久关闭补全:编辑
~/.jupyter/jupyter_notebook_config.py,加一行:c.InlineBackend.print_method = 'html'并确保没启用codefolding或hinterland - 检查
jupyter nbextension list输出,禁用非必需项,比如varInspector、notify
真正影响启动速度的从来不是“Jupyter 多慢”,而是你让它加载了什么——路径、环境、扩展、内核,每个环节都可能多花 2–3 秒。优化不是堆参数,是砍掉那些你根本没用过的加载项。











