Manjaro KDE下批量卸载全局pip包遇apparmor卸载错误如何解决
问题根因
报错涉及的apparmor是Manjaro系统通过pacman预装的Python依赖包,并非通过pip安装,pip没有权限也无法正确识别这类系统包的文件结构,强制卸载会损坏系统依赖。
解决方案
只卸载你自行通过pip全局安装的第三方包即可,跳过所有系统预装的Python包,操作步骤如下:
1. 先确认待卸载的包列表(可选,建议执行)
执行以下命令过滤出所有非系统预装的pip全局包,提前核对避免误删:
pip freeze | grep -vE "$(pacman -Qqo /usr/lib/python*/site-packages/ | sed 's/-[0-9].*//' | sort | uniq | tr '\n' '|')"
2. 批量卸载非系统的pip全局包
核对列表无误后执行以下命令完成卸载,不会触发系统包的卸载报错:
pip freeze | grep -vE "$(pacman -Qqo /usr/lib/python*/site-packages/ | sed 's/-[0-9].*//' | sort | uniq | tr '\n' '|')" | xargs pip uninstall -y
后续注意事项
- 日常开发优先使用venv等虚拟环境安装Python依赖,避免污染全局Python环境
- 如果执行过程中仍有个别包报同类distutils安装报错,均为系统预装依赖,直接忽略即可,不要尝试强制卸载,否则会导致系统工具、KDE桌面组件功能异常
内容的提问来源于stack exchange,提问作者Levi
相关产品推荐
相关产品推荐

