Have fun with sci.dog

mac安装pyaudio时报错缺少"portaudio.h"

今天在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就可以了。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《mac安装pyaudio时报错缺少"portaudio.h"》
文章链接:https://www.sci.dog/?p=1471
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发