树莓派Python3.7环境运行wxPython报错缺失libgstreamer如何解决
问题根因
你遇到的报错核心是wxPython的wx.media模块依赖gstreamer 0.10版本的系统动态库,你当前的树莓派系统没有安装该依赖,导致模块导入失败。
关于from ._media import *的说明
这是Python的相对导入语法:
- 开头的
.代表当前wx包的安装目录 _media不是普通.py脚本,是wxPython编译时生成的C扩展二进制模块,后缀一般为.so,完整文件名类似_media.cpython-37m-arm-linux-gnueabihf.so,所以你用ls -a找.py后缀的文件自然找不到。
解决步骤
按优先级从高到低选择即可:
- 方案1(最推荐):使用树莓派官方源适配好的wxPython版本,自动处理所有依赖
先卸载你手动安装的whl版本:
再安装系统源版本:sudo pip3 uninstall wxPython -ysudo apt update && sudo apt install python3-wxgtk4.0 -y - 方案2:仅安装缺失的gstreamer 0.10依赖,保留你当前的wxPython版本
执行命令安装对应依赖包:
注:如果你用的是树莓派OS Bullseye及以上版本,官方源已经移除了gstreamer 0.10,该方案会失效,直接用方案1即可。sudo apt update && sudo apt install libgstreamer0.10-0 libgstreamer-plugins-base0.10-0 -y - 方案3(临时绕开):如果你的程序没有用到媒体播放相关功能,直接注释掉代码里的
import wx.media语句即可,不会影响其他wxPython功能的运行。
内容的提问来源于stack exchange,提问作者arcy
相关产品推荐
相关产品推荐

