You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacBook M1环境下Python调用PyAudio报错AUHAL component not found求助

MacBook M1下PyAudio录音报错OSError: [Errno -9999]的解决建议

问题背景

在MacBook M1设备上使用Python调用PyAudio时触发错误:

PaMacCore (AUHAL)|| AUHAL component not found.** .... stream = audio.open(format=FORMAT, channels=CHANNELS, ...  stream = PyAudio.Stream(self, *args, **kwargs) ...   self._stream = pa.open(**arguments) ... **OSError: [Errno -9999] Unanticipated host error**

已尝试卸载重装Homebrew、PyAudio及PortAudio,开启麦克风权限,仍未解决问题。

解决办法

  • 通过Rosetta 2运行终端重新安装
    打开访达→应用程序→实用工具→终端,右键「显示简介」勾选「使用Rosetta打开」,重启终端后执行:
    brew install portaudio
    pip install pyaudio
    
  • 指定PortAudio路径编译安装PyAudio
    手动指定Homebrew安装的PortAudio路径,强制编译适配M1架构:
    pip install --global-option='build_ext' --global-option='-I/opt/homebrew/include' --global-option='-L/opt/homebrew/lib' pyaudio
    
  • 替换为sounddevice库
    若PyAudio兼容性问题无法解决,改用sounddevice(M1适配更好):
    pip install sounddevice soundfile
    
    示例录音代码:
    import sounddevice as sd
    import soundfile as sf
    
    duration = 5  # 录音时长(秒)
    sample_rate = 44100
    
    recording = sd.rec(int(duration * sample_rate), samplerate=sample_rate, channels=2)
    sd.wait()
    sf.write('recording.wav', recording, sample_rate)
    
  • 重置麦克风权限缓存
    执行命令重置权限缓存后重启电脑,重新授权麦克风:
    tccutil reset Microphone
    

环境可行性说明

已有大量M1/M2 Mac用户通过上述方法成功实现Python录音,该环境下可以正常完成录音操作,问题根源多为PyAudio与ARM架构的编译适配或路径配置问题。

内容的提问来源于stack exchange,提问作者Maria José Pinto Bernal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 13:34:56