一键卸载用户 pip 安装的所有 Python 包
在 Linux 共享服务器上长期使用 pip install --user 后,会积累大量用户级包。要”回到出厂状态”,可用一段小脚本一次性卸载所有用户级包。
一、卸载脚本
rm_py_pkg.sh:
1 | |
二、原理
pip freeze --user:列出当前用户通过--user安装的所有包(含版本号)pip uninstall -r <list> -y:批量卸载,-y跳过确认rm /tmp/user_pkgs.txt:清掉临时文件
三、使用方法
1 | |
输出示例:1
2
3
4
5
6Uninstalling numpy-1.24.3:
Would remove:
/home/user/.local/lib/python3.11/site-packages/numpy
Proceed (y/n)? y
Successfully uninstalled numpy-1.24.3
...
四、注意事项
1. 只影响用户级包
脚本只处理 --user 安装的包(即 ~/.local/lib/pythonX.Y/site-packages/),不影响:
- 系统级包(
/usr/lib/python3/dist-packages/) - conda 环境内的包
pipx管理的工具
2. 不会删 ~/.local/bin/ 中的可执行文件
如果某些 Python 工具是通过 pip install --user 装到 ~/.local/bin/,卸载包后这些脚本会失效。可手动清理:
1 | |
3. 推荐顺序
清理用户包之前先确认没有重要脚本依赖它们:
1 | |
4. 自定义目标环境
默认卸载当前激活的 Python 环境的用户包。如果要清理其他环境:
1 | |
五、完整清理示例(含残留文件)
1 | |
总结
rm_py_pkg.sh 是 3 行极简脚本:
freeze --user列出用户包uninstall -r批量卸载rm临时文件
适合定期”重置”用户 Python 环境,特别是调试依赖冲突或系统迁移时。
一键卸载用户 pip 安装的所有 Python 包
https://zhazhajust.github.io/2026/06/10/pip-user-cleanup/