最近需要使用macbook处理语音模型,但是在安装PyAudio包的时候报错了。

pyvad) (base) shizai@shizaideMacBook-Pro silero-vad-master % pip install PyAudio
Collecting PyAudio
  Using cached PyAudio-0.2.14.tar.gz (47 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: PyAudio
  Building wheel for PyAudio (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for PyAudio (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [27 lines of output]
      /private/var/folders/0j/m3f5pt7n62xb2035g9hxv8kw0000gn/T/pip-build-env-bux7gtst/overlay/lib/python3.12/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()
      running bdist_wheel
      running build
      running build_py
      creating build/lib.macosx-11.1-arm64-cpython-312/pyaudio
      copying src/pyaudio/__init__.py -> build/lib.macosx-11.1-arm64-cpython-312/pyaudio
      running build_ext
      building 'pyaudio._portaudio' extension
      creating build/temp.macosx-11.1-arm64-cpython-312/src/pyaudio
      clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /opt/anaconda3/envs/pyvad/include -arch arm64 -fPIC -O2 -isystem /opt/anaconda3/envs/pyvad/include -arch arm64 -DMACOS=1 -I/usr/local/include -I/usr/include -I/opt/homebrew/include -I/opt/anaconda3/envs/pyvad/include/python3.12 -c src/pyaudio/device_api.c -o build/temp.macosx-11.1-arm64-cpython-312/src/pyaudio/device_api.o
      src/pyaudio/device_api.c:9:10: fatal error: 'portaudio.h' file not found
      #include "portaudio.h"
               ^~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for PyAudio
Failed to build PyAudio
ERROR: Failed to build installable wheels for some pyproject.toml based projects (PyAudio)」

报错没有发现“portaudio”,因此又安装了portaudio
但在使用命令:

brew install portaudio

时出现没有brew,所以又去安装了brew,通过以下命令安装brew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后还将讲Homebrew加入环境变量中,通过以下命令
 

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc

然后,可能还有可能遇到报错你没有权限,运行上一句代码的效果如下:

base) shizai@shizaideMacBook-Pro ~ % echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
zsh: permission denied: /Users/shizai/.zshrc

这个时候需要解决一下权限问题。

按照一下步骤解决权限问题(下面方法由deepseek生成,我使用的是这个方法有效)

  1. 检查文件所有权和权限

ls -la ~/.zshrc

如果所有者不是您(显示为 root 或其他用户),需要修复所有权。

    2.强制修改所有权(关键步骤)

sudo chown $USER ~/.zshrc

    3.再次修改权限

chmod 644 ~/.zshrc

   4.验证权限

ls -la ~/.zshrc
应该显示类似:
-rw-r--r--  1 shizai  staff  1234 Jan 1 12:34 /Users/shizai/.zshrc

 5.重新尝试添加PATH

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc

 6.立即生效

source ~/.zshrc
权限问题解决。成功安装Homebrew,然后成功安装portaudio。

最后在安装PyAudio的时候还可能遇到问题。可以看链接https://most.tw/posts/systemarchitect/macosapplesiliconinstallpyaudio/中的第四条。
最后在安装PyAudio的时候要注意不能写成pyaudio!!!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐