已安装HomeBrew仍无法在Mac上安装PyAudio,如何解决?
嘿,我太懂这种在macOS上装PyAudio卡壳的糟心感了——PortAudio和Homebrew的组合有时候就是会出各种奇奇怪怪的问题。给你整理了几个亲测有效的解决办法,按顺序试试:
方案1:彻底清理旧依赖,重新安装
很多时候是旧的PortAudio或PyAudio残留导致的冲突,先把它们清干净:
- 用Homebrew强制卸载PortAudio:
brew uninstall --force portaudio - 移除pip安装的PyAudio残留:
pip uninstall -y pyaudio(如果用Python3就换成pip3) - 重新安装干净的PortAudio:
brew install portaudio - 最后指定PortAudio的路径安装PyAudio:
pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio
方案2:用Conda安装(懒人福音)
如果你平时用Anaconda或Miniconda管理环境,直接用conda装会省心太多,它会自动处理所有依赖冲突:
- 先激活你的目标conda环境:
conda activate your_env_name(把your_env_name换成你的环境名) - 执行安装命令:
conda install -c anaconda pyaudio
方案3:手动编译PyAudio(终极兜底方案)
如果上面的方法都没用,那就手动编译源码,虽然步骤多但成功率极高:
- 先确保装了Xcode命令行工具:
xcode-select --install(弹窗出来点安装就行) - 克隆PyAudio的源码仓库:
git clone https://github.com/spatialaudio/pyaudio.git - 进入源码目录:
cd pyaudio - 编译并安装,指定PortAudio的路径:
(Python3的话把python setup.py install --with-portaudio-dir=/usr/local/python换成python3)
额外提醒:适配Apple Silicon芯片(M1/M2/M3)
如果你的Mac是Apple Silicon系列,还要注意这两点:
- 可以右键终端选择「使用Rosetta打开」,兼容一些还没适配原生ARM的依赖
- 如果你把Homebrew装在了
/opt/homebrew路径下,安装PyAudio的命令要改成:pip install --global-option='build_ext' --global-option='-I/opt/homebrew/include' --global-option='-L/opt/homebrew/lib' pyaudio
内容的提问来源于stack exchange,提问作者Programming With Naman
相关产品推荐
相关产品推荐

