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路径:
Intel芯片则使用:export CFLAGS="-I/opt/homebrew/include" LDFLAGS="-L/opt/homebrew/lib"export CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
3. 重新安装PyAudio并绑定新编译的PortAudio
- Apple Silicon芯片执行:
Intel芯片替换路径为pip install pyaudio --global-option="build_ext" --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib"/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
相关产品推荐
相关产品推荐

