Mac M1 Big Sur安装pyaudio后导入报Symbol not found错误如何解决
M1芯片Mac Big Sur系统PyAudio导入错误解决方案
该错误本质是编译PyAudio时链接的portaudio版本/架构不匹配,导致无法找到对应动态链接库符号,可按以下步骤修复:
- 第一步:清理残留的错误安装
先卸载已安装的异常PyAudio包:pip3 uninstall pyaudio -y
再卸载所有版本的portaudio避免版本冲突:brew uninstall --ignore-dependencies portaudio -y - 第二步:安装arm64架构的portaudio
执行brew命令安装portaudio:brew install portaudio
安装完成后可验证架构是否匹配,输出为arm64即为正常:lipo /opt/homebrew/lib/libportaudio.dylib -archs
如果你的Python为x86_64架构(可执行file $(which python3)查看),需要通过Rosetta 2打开终端再执行后续操作,否则会出现架构不兼容问题 - 第三步:重新编译安装PyAudio
注意添加--no-cache-dir参数避免复用之前的错误缓存:pip3 install --global-option="build_ext" --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib" --no-cache-dir pyaudio
如果以上步骤仍未解决问题,可尝试手动编译最新版portaudio后再安装PyAudio:
- 下载PortAudio官方最新源码
- 进入源码目录执行以下命令编译安装:
./configure --prefix=/opt/homebrew make && make install
编译完成后重复第三步安装PyAudio即可。
内容的提问来源于stack exchange,提问作者Mihir Seth
相关产品推荐
相关产品推荐

