如何解决M1 MacBook Pro中PyAudio无法正常运行及ModuleNotFoundError问题?
解决M1 MacBook Pro上PyAudio导入失败(ModuleNotFoundError)的问题
我之前在M1 Mac上也碰到过一模一样的问题,核心原因是Python环境和Homebrew安装的PortAudio路径不匹配,或者你用的Python版本没关联到正确的PortAudio库。试试下面的分步解决方案:
步骤1:确认你的Python环境
先搞清楚你当前用的是哪个Python版本,输入命令:
which python3
- 如果输出是
/usr/bin/python3,这是苹果自带的系统Python,和Homebrew的PortAudio兼容性很差,推荐换成Homebrew安装的Python。 - 如果输出是
/opt/homebrew/bin/python3,那是Homebrew的Python,继续下一步。
步骤2(可选):安装Homebrew版Python
如果用的是系统Python,先装Homebrew的Python:
brew install python
安装完成后,重启终端或者执行source ~/.zshrc(如果你用的是zsh),确保python3指向Homebrew的版本。
步骤3:重新清理并安装PortAudio和PyAudio
先卸载之前的残留:
# 卸载PortAudio brew uninstall portaudio # 卸载PyAudio(如果之前装过) pip3 uninstall pyaudio -y
然后重新安装PortAudio的HEAD版本(M1必须用这个版本才能兼容):
brew install portaudio --HEAD
最后用Homebrew的Python安装PyAudio——这里不用手动指定路径,因为Homebrew的Python会自动识别PortAudio的位置:
python3 -m pip install pyaudio
步骤4:验证安装
打开Python交互环境测试:
import pyaudio pa = pyaudio.PyAudio() print(pa.get_device_count()) # 能输出设备数量就说明成功了
如果还是有问题,检查是否用了虚拟环境:如果激活了venv,要确保在虚拟环境里执行上述安装命令,而不是全局环境。
内容的提问来源于stack exchange,提问作者Arannya
相关产品推荐
相关产品推荐

