Mac环境下安装PyAudio提示portaudio.h未找到的解决求助
解决Python虚拟环境中安装PyAudio失败(找不到portaudio.h)的问题
问题重现
- 创建conda虚拟环境:
mkdir ai cd ai conda create --prefix ./env python=3.8 conda activate ./env
- 安装依赖时出现编译报错:
brew install portaudio pip install pyaudio
核心报错信息:
src/_portaudiomodule.c:31:10: fatal error: 'portaudio.h' file not found
即使手动指定portaudio路径重新安装,问题依然存在:
pip install --global-option='build_ext' --global-option='-I/opt/homebrew/Cellar/portaudio/19.7.0/include' --global-option='-L/opt/homebrew/Cellar/portaudio/19.7.0/lib' pyaudio
解决方案
方案1:用conda直接安装(最省心)
conda仓库提供预编译好的PyAudio包,无需手动编译,自动匹配依赖:
conda install -c conda-forge pyaudio
方案2:设置环境变量后用pip安装
先让编译器识别brew安装的portaudio路径,再执行pip安装:
export C_INCLUDE_PATH=/opt/homebrew/Cellar/portaudio/19.7.0/include:$C_INCLUDE_PATH export LIBRARY_PATH=/opt/homebrew/Cellar/portaudio/19.7.0/lib:$LIBRARY_PATH pip install pyaudio
注:若portaudio版本更新,替换路径中的19.7.0为实际版本号。
方案3:创建软链接到系统默认搜索路径
将brew安装的portaudio文件链接到编译器默认查找的目录:
sudo ln -s /opt/homebrew/Cellar/portaudio/19.7.0/include/portaudio.h /usr/local/include/portaudio.h sudo ln -s /opt/homebrew/Cellar/portaudio/19.7.0/lib/libportaudio.dylib /usr/local/lib/libportaudio.dylib
完成后执行pip install pyaudio即可。
额外检查
确认虚拟环境是否正确激活:
python --version
确保输出为Python 3.8,避免因环境切换异常导致的路径冲突。
内容的提问来源于stack exchange,提问作者Shay
相关产品推荐
相关产品推荐

