pip uninstall jupyter 不能彻底卸载,因为它只是元包,真正需卸载 jupyter_core、jupyter-client、notebook 等依赖包,并删除 ~/.jupyter 配置目录及清理 path 中残留的可执行文件。

pip uninstall jupyter 不能彻底卸载,它只删了元包,大量依赖还在。真正要清干净,得拆解依赖、删配置、清缓存三步走。
为什么 pip uninstall jupyter 不管用
因为 jupyter 是个“元包”,不包含实际功能,只负责拉取 notebook、jupyter-core、jupyter-client 等十几个子包。执行 pip uninstall jupyter 后,jupyter notebook 命令仍可能正常运行——底层依赖没动。
常见错误现象:
- 卸载后仍能运行 jupyter notebook
- 重装时提示“已满足要求”,但启动报错或界面异常
- which jupyter 或 where jupyter 仍返回路径
- 根本原因:conda/pip 混装、多环境残留、用户级安装(
--user)未清理 - 最稳妥做法是按依赖树逐个卸载,而非依赖单个命令
手动卸载全部 Jupyter 相关包(推荐)
直接运行这条命令可覆盖绝大多数情况(Windows/macOS/Linux 通用):
pip uninstall -y jupyter jupyter_core jupyter-client jupyter-console notebook nbconvert nbformat qtconsole ipython ipykernel
说明:
-
-y自动确认,避免交互中断 - 必须包含
ipython和ipykernel:它们是内核支撑,漏掉会导致 notebook 启动后无法执行代码 - 如果用过
jupyterlab,额外加jupyterlab;用过nbclassic,也加上 - 执行后检查是否还有残留:
pip list | grep -i jupyter(Linux/macOS)或pip list | findstr jupyter(Windows)
删配置目录和缓存(容易被忽略的坑)
包卸载完,~/.jupyter 和 ~/.local/share/jupyter(macOS/Linux)或 C:\Users\用户名\.jupyter(Windows)里还存着旧配置、自定义主题、扩展、历史记录——这些会干扰新安装的行为,比如端口绑定失败、扩展自动启用旧版本。
- 务必手动删除整个
.jupyter文件夹(注意隐藏属性) - macOS/Linux 还建议清理:
~/.local/share/jupyter、/usr/local/share/jupyter(若存在) - Windows 用户额外检查:
%APPDATA%\jupyter(即C:\Users\用户名\AppData\Roaming\jupyter) - 删完后,运行
jupyter --paths应该只返回空或全新路径(首次运行才会生成)
检查环境变量和残留二进制文件
尤其在 Anaconda 或 Miniconda 环境下,jupyter 可能来自 anaconda3/bin/(macOS/Linux)或 anaconda3\Scripts\(Windows),卸载 pip 包不会动 conda 安装的可执行文件。
- 查命令真实来源:
which jupyter(macOS/Linux)或where jupyter(Windows) - 如果路径指向 conda 目录,说明 conda 环境里还有
notebook包,需进对应环境执行:conda remove notebook jupyter - 检查
PATH是否含~/.local/bin或 conda 的 Scripts/bin 目录——若有,且你不再需要旧环境,可临时注释掉再测试 - 极少数情况:系统级安装残留,如
/usr/local/bin/jupyter*,可用ls /usr/local/bin/jupyter*查看并sudo rm删除(谨慎操作)
彻底卸载的关键不在“删得快”,而在“删得准”:依赖包一个别漏,配置目录一个别剩,PATH 里那个 jupyter 可执行文件,才是最后钉子。











