导入matplotlib报错libimagequant.so.0缺失的解决求助
解决matplotlib导入时的libimagequant.so.0缺失错误
问题根源
你遇到的冲突是因为使用pip --break-system-packages将Pillow安装到了用户本地目录(/home/adama/.local/lib/python3.11/site-packages),而系统版matplotlib(/usr/lib/python3.11/site-packages)调用这个本地Pillow时,找不到对应的系统库文件。
快速修复步骤
卸载用户本地的Pillow
先移除pip安装的冲突版本:pip uninstall -y pillow安装系统兼容的Pillow版本
用Manjaro的包管理器安装和系统Python、matplotlib匹配的版本:sudo pacman -S python-pillow验证修复
直接运行脚本,或者临时禁用用户本地包路径确保用系统库:PYTHONNOUSERSITE=1 python /home/adama/Code/MachineLearning/HW6/problem1.py
彻底解决(避免再用--break-system-packages)
不要再用--break-system-packages修改系统Python环境,改用虚拟环境隔离依赖:
- 创建机器学习项目专属虚拟环境:
python -m venv ~/ml_hw_env - 激活虚拟环境:
source ~/ml_hw_env/bin/activate - 在环境内安装所需包,不会影响系统Python:
pip install matplotlib - 后续运行作业脚本前,先激活这个虚拟环境即可。
额外的ld.so.conf优化(可选)
你的ld.so.conf里有重复配置和错误路径,修正后可以避免库路径问题:
- 编辑
/etc/ld.so.conf,保留如下内容:# Dynamic linker/loader configuration. # See ld.so(8) and ldconfig(8) for details. include /etc/ld.so.conf.d/*.conf /usr/local/lib - 如果你需要加载用户本地的库,不要加到系统配置里,而是在
~/.bashrc中添加:export LD_LIBRARY_PATH="$HOME/.local/lib:$LD_LIBRARY_PATH" - 生效配置:
source ~/.bashrc sudo ldconfig
内容的提问来源于stack exchange,提问作者pluto_412
相关产品推荐
相关产品推荐

