直接卸载jupyter包无效,因其仅为元包;需先conda remove notebook等主干包,再pip清理残留,最后手动删除~/.jupyter等配置目录才能彻底卸载。

直接卸载 jupyter 包根本不行——它只是个元包,不带核心功能;真正起作用的是 notebook、jupyter-core、jupyter-client 等一堆独立安装的包。只运行 pip uninstall jupyter,命令看似成功,但 jupyter notebook 依然能启动,配置和缓存也全留着。
conda 环境里装的,优先用 conda remove
如果你是通过 Anaconda 或 Miniconda 安装的(绝大多数人都是),第一步必须走 conda,否则 pip 卸载会漏掉 conda 自己管理的二进制依赖。
- 先确认环境:
conda env list,找到你装了 Jupyter 的环境名(比如base或myenv) - 激活它:
conda activate myenv - 一次性卸载主干包:
conda remove notebook jupyter jupyterlab ipykernel(jupyterlab和ipykernel常被一起装,顺手清掉) - 别信
conda list | grep jupyter没输出就干净了——有些包名不带 jupyter(比如nbconvert),得手动查
pip 安装的残留包必须逐个清
conda 卸完后,再检查有没有 pip 装的版本干扰:运行 pip list | grep -i "jupyter|notebook|nb"。常见残留包括:
-
notebook(核心服务) -
jupyter-core(路径、配置基础) -
jupyter-client(内核通信) -
nbformat、nbconvert、ipykernel(哪怕 conda 卸过,pip 可能又装了一份) - Ubuntu 用户注意:
pip uninstall时如果看到一堆包名(如argon2-cffi、tornado、pyzmq),别手抖全删——这些是其他工具共用的底层依赖,只清明确属于 Jupyter 生态的即可
配置目录和缓存不删,重装后还是老样子
卸载命令从不碰用户目录下的配置,这意味着你之前改过的主题、扩展、密码、自定义 CSS 全部还在,新装的 Jupyter 一启动就继承旧状态,问题照旧。
- Windows:
C:Users\.jupyter和C:Users\AppDataRoamingjupyter - macOS/Linux:
~/.jupyter和~/.local/share/jupyter(有时还有/usr/local/share/jupyter,需sudo才能删) - 删之前建议先
ls -la ~/.jupyter看一眼,确认里面没你自己写的custom.js或重要 kernel 配置 - 删完执行
jupyter --paths,输出里不该再出现你刚删掉的路径
验证是否真干净,只看三件事
别信“没报错就是卸干净了”。真正干净的表现很具体:
- 终端输入
jupyter notebook,返回'jupyter' is not recognized as an internal or external command(Windows)或command not found: jupyter(macOS/Linux) -
which jupyter(macOS/Linux)或where jupyter(Windows)无任何输出 - 启动浏览器访问
http://localhost:8888,连拒绝连接都看不到——因为服务进程根本没起来
最容易被忽略的是 ~/.jupyter 目录里的 nbconfig 和 custom 子目录,它们会让新装的 Jupyter 行为异常,却不会报错,排查起来极难定位。











