近期需要做一个语音识别的项目,然而pyaudio一个包耽误了我俩小时。。。各种找啊,真服了!
首先放解决办法:
Mac上安装pyaudio
配置:
macbook pro(m1 pro)
python 3.8
首先安装speech_recognition
pip install SpeechRecognition
结果一上来,直接遇到问题了,
AttributeError: Could not find PyAudio; check installation
输入pip install pyaudio,各种报错
ERROR: Command errored out with exit status 1: command: /Library/frameworks/Python.framework/Versions/3.10/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-j5ttim66/pyaudio_7fec2889410b4297b69eb0475231ceaf/setup.py'"'"'; __file__='"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-j5ttim66/pyaudio_7fec2889410b4297b69eb0475231ceaf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-record-_m6tz1r3/install-record.txt --single-version-externally-managed --compile --install-headers /Library/frameworks/Python.framework/Versions/3.10/include/python3.10/pyaudio cwd: /private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-j5ttim66/pyaudio_7fec2889410b4297b69eb0475231ceaf/ Complete output (16 lines): running install running build running build_py creating build creating build/lib.macosx-10.9-universal2-3.10 copying src/pyaudio.py -> build/lib.macosx-10.9-universal2-3.10 running build_ext building '_portaudio' extension creating build/temp.macosx-10.9-universal2-3.10 creating build/temp.macosx-10.9-universal2-3.10/src clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -DMACOSX=1 -I/Library/frameworks/Python.framework/Versions/3.10/include/python3.10 -c src/_portaudiomodule.c -o build/temp.macosx-10.9-universal2-3.10/src/_portaudiomodule.o src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found #include "portaudio.h" ^~~~~~~~~~~~~ 1 error generated. error: command '/usr/bin/clang' failed with exit code 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /Library/frameworks/Python.framework/Versions/3.10/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-j5ttim66/pyaudio_7fec2889410b4297b69eb0475231ceaf/setup.py'"'"'; __file__='"'"'/private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-install-j5ttim66/pyaudio_7fec2889410b4297b69eb0475231ceaf/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/lw/_gcm85s107z9sbgqyrw5pw700000gn/T/pip-record-_m6tz1r3/install-record.txt --single-version-externally-managed --compile --install-headers /Library/frameworks/Python.framework/Versions/3.10/include/python3.10/pyaudio Check the logs for full command output.
然后,就开始找解决办法,各种各样的都有,基本包括以下步骤:
- 安装homebrew
- brew install portaudio
- pip install pyaudio
并不行。。。。还是报错 - 安装xcode
还是报错。。。 - 输入sudo nano $HOME ./pydistutils.cfg
[build_ext] include_dirs=/Users//homebrew/Cellar/portaudio/19.20140130/include/ include_dirs=/Users/ /homebrew/Cellar/portaudio/19.20140130/lib/
接着pip install pyaudio,还是报错
最经典的是,我竟然还在苹果官网上找到了这个问题:
M1 mac 上的 Pyaudio 安装和 M1 上的 Python3 默认安装
这个方法我没试过。。
总之,太坑了啊。。。鬼知道我翻了多少个贴子,论坛,看了多少个网页,答案大同小异。。就在我快要放弃的时候,竟然奇迹般的装上了(不,不是python3.8,,而是3.7)
正确方法:
1、先安装python3.7环境
2、安装homebrew
3、brew install portaudio
4、
python -m 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
记得自己更改路径
解决,瞬间感觉天气真好,空气真新鲜。。
吃一堑长一智,以后安装别的包/库一定一定要看好版本!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)