最稳妥的jupyter notebook升级方式是先确认运行环境(conda或venv),再针对性升级notebook、jupyter-core和ipykernel,避免全局pip升级导致内核不匹配或命令失效;升级后需重新注册旧环境内核。

jupyter notebook 升级到最新版本,最稳妥的方式是不直接升级全局安装的 notebook,而是优先确认你用的是哪个 Python 环境、是否在 conda 或虚拟环境中运行。盲目执行 pip install --upgrade jupyter notebook 容易导致内核不匹配、命令行工具失效或与 jupyter lab 冲突。
怎么判断当前用的是哪个环境?
打开终端(Windows 是 cmd 或 anaconda prompt,macOS/Linux 是终端),先运行:
jupyter --paths
看输出里的 config: 和 data: 路径——如果路径里含 anaconda3/envs/xxx 或 venv,说明你在特定环境中;如果指向 site-packages 且路径里有 Python39 或类似主版本号,大概率是系统级安装。
再运行:
which jupyter
(macOS/Linux)或
where jupyter
(Windows),确认命令来源。如果指向 anaconda3/Scripts/ 或 venv/Scripts/,就别碰系统 Python 的 pip。
升级前必须检查的三个依赖项
-
jupyter-core和notebook是分离的:新版notebook(如 7.x)不再自带jupyter-notebook命令,而是靠jupyter-core调度。升级时漏掉它,jupyter notebook会报ModuleNotFoundError: No module named 'jupyter_core' -
ipykernel版本要兼容:如果你用的是 Python 3.10+,ipykernel 会无法启动内核,得同步升级 -
pip自身得是 23.0+:旧版 pip 在安装notebook>7.0时可能跳过某些依赖,建议先跑python -m pip install --upgrade pip
推荐升级命令(按场景选)
✅ 如果你用的是 conda 环境(最常见):
conda activate your_env_name<br>conda update -c conda-forge notebook jupyter-core ipykernel
✅ 如果你用的是 pip + venv:
source venv/bin/activate # macOS/Linux<br>venv\Scripts\activate # Windows<br>python -m pip install --upgrade pip<br>python -m pip install --upgrade notebook jupyter-core ipykernel
⚠️ 不要用 pip install --upgrade jupyter:这个包是元包,会强行拉取 jupyterlab、qtconsole 等你未必需要的组件,还可能降级 notebook 版本。
升级后 kernel 不见了?
这是最常被忽略的问题:新版本 notebook 启动时默认只加载当前 Python 环境的 kernel,不会自动识别你之前手动注册的其他环境(比如 python3.8 或 myproject-env)。
解决方法很简单,进对应环境重注册一次:
conda activate my_old_env<br>python -m ipykernel install --user --name my_old_env --display-name "Python (my_old_env)"
然后刷新 Jupyter 页面,在 Kernel → Change kernel 里就能看到。
注意:--user 参数不能省,否则注册到系统级,多用户机器上会冲突;--name 必须唯一,重复会导致 kernel 列表里出现两个同名项但只有一个能用。











