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

macOS 14下已安装PyAudio仍报错的Python语音转文本问题求助

macOS 14下PyAudio符号缺失问题解决步骤

你的代码:

import speech_recognition as sr
# ساخت یک شیء از کلاس Recognizer
recognizer = sr.Recognizer()

# ضبط صدا از میکروفون
with sr.Microphone() as source:
    print("لطفاً گفتار خود را شروع کنید...")
    audio = recognizer.listen(source)

    text = recognizer.recognize_google(audio)
    print(f"متن تشخیص داده شده: {text}")

运行时出现的错误核心是symbol not found in flat namespace '_PaMacCore_SetupChannelMap',这是因为PyAudio绑定的PortAudio版本与macOS 14不兼容,按以下步骤解决:

1. 清理现有安装

  • 卸载PyAudio:
    pip uninstall pyaudio -y
    
  • 卸载PortAudio(如果通过brew安装):
    brew uninstall portaudio -y
    

2. 重新编译安装适配macOS 14的PortAudio

  • 更新brew包列表:
    brew update
    
  • 从源码编译安装PortAudio(确保适配当前系统架构):
    brew install portaudio --build-from-source
    
  • 若为Apple Silicon芯片,先设置环境变量指定brew路径:
    export CFLAGS="-I/opt/homebrew/include" LDFLAGS="-L/opt/homebrew/lib"
    
    Intel芯片则使用:
    export CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
    

3. 重新安装PyAudio并绑定新编译的PortAudio

  • Apple Silicon芯片执行:
    pip install pyaudio --global-option="build_ext" --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib"
    
    Intel芯片替换路径为/usr/local/include和/usr/local/lib:
    pip install pyaudio --global-option="build_ext" --global-option="-I/usr/local/include" --global-option="-L/usr/local/lib"
    

4. 验证安装

  • 运行以下命令确认PyAudio正常导入:
    python -c "import pyaudio; print('PyAudio版本:', pyaudio.__version__)"
    
    若无报错,再运行你的语音转文本代码即可。

内容的提问来源于stack exchange,提问作者amir graphici

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 04:17:46