今天在mac上开发一个python项目的时候,安装pyaudio包时发生错误
× Failed to build `pyaudio==0.2.14` ├─▶ The build backend returned an error ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1) [stdout] running bdist_wheel running build running build_py creating build/lib.macosx-11.0-arm64-cpython-311/pyaudio copying src/pyaudio/__init__.py -> build/lib.macosx-11.0-arm64-cpython-311/pyaudio running build_ext building 'pyaudio._portaudio' extension creating build/temp.macosx-11.0-arm64-cpython-311/src/pyaudio cc -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -mmacosx-version-min=11.0 -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix -fPIC -DMACOS=1 -I/usr/local/include -I/usr/include -I/opt/homebrew/include -I/Users/gouff/.cache/uv/builds-v0/.tmpaQxL4o/include -I/Users/gouff/.local/share/uv/python/cpython-3.11.11-macos-aarch64-none/include/python3.11 -c src/pyaudio/device_api.c -o build/temp.macosx-11.0-arm64-cpython-311/src/pyaudio/device_api.o [stderr] /Users/gouff/.cache/uv/builds-v0/.tmpaQxL4o/lib/python3.11/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() src/pyaudio/device_api.c:9:10: fatal error: 'portaudio.h' file not found 9 | #include "portaudio.h" | ^~~~~~~~~~~~~ 1 error generated. error: command '/usr/bin/cc' failed with exit code 1 hint: This error likely indicates that you need to install a library that provides "portaudio.h" for `pyaudio@0.2.14` help: `pyaudio` (v0.2.14) was included because `oilproduction` (v0.1.0) depends on `pyaudio`
查询之后,发现pyaudio包依赖于portaudio这个C/C++的库,因此要安装pyaudio包需要先安装portaudio库,portaudio库可以通过brew安装
brew install portaudio
OK,再次安装pyaudio就可以了。