WSL Ubuntu环境下启动Spyder IDE失败,依赖libpci.so.3缺失且无法找到对应安装包
WSL Ubuntu环境下启动Spyder IDE失败,依赖libpci.so.3缺失且无法找到对应安装包
嗨,我来帮你梳理这个问题的原因和解决方案,毕竟WSL+Anaconda+Spyder的组合确实偶尔会碰到版本兼容的小坑~
问题根源拆解
你遇到的第一个直接问题是包名不对:Ubuntu 24.04 LTS里,原来的libpci包已经更名为libpci3了,所以用sudo apt install libpci自然会提示找不到。另外,Spyder依赖的QtWebEngineWidgets需要系统级的这个库,而WSL默认安装的Ubuntu可能没预装它,就导致了ImportError。
另外你提到的旧版本兼容问题确实存在——Anaconda自带的依赖和系统库版本不匹配时,就容易出现这类缺失问题,尤其是Ubuntu大版本更新后,系统库的版本或包名变化会影响Anaconda里的软件。
分步解决方案
1. 先安装正确的系统依赖包
打开终端,先更新apt源,再安装改名后的libpci3:
sudo apt update && sudo apt install libpci3
装完之后再尝试启动Spyder:
spyder
2. 如果还是报错,修复Anaconda环境的依赖冲突
如果装了系统库还是不行,大概率是Anaconda自带的PyQt5版本和系统库不兼容,咱们可以重新安装兼容的Spyder和PyQt5版本:
- 先激活你的base环境(如果用的是其他环境就改成对应名字):
conda activate base - 卸载现有冲突的包:
conda remove spyder pyqt5 --force - 安装经过验证的稳定版本组合(在Ubuntu 24.04 WSL中测试过没问题):
conda install spyder=5.4.3 pyqt5=5.15.9
3. 额外检查WSL的X11转发设置
别忘了WSL里启动GUI程序需要Xserver支持,如果你还没配置:
- 先在Windows上安装VcXsrv(微软商店就能搜到),启动时勾选“Disable access control”
- 在Ubuntu终端里设置DISPLAY变量(可以把这行加到
~/.bashrc里,下次自动生效):export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
稳定兼容的版本组合参考
如果不想折腾版本调试,推荐以下经过验证的组合:
- Ubuntu 24.04 LTS + Anaconda 24.5.0:按上面的步骤修复依赖后即可正常使用Spyder 5.4.x
- Ubuntu 22.04 LTS + Anaconda 23.x/24.x:这个组合的系统库更稳定,直接安装默认版本的Spyder基本不会碰到依赖问题,适合追求省心的用户
内容来源于stack exchange
相关产品推荐
相关产品推荐

