macbookPro(M1)安装brew、portaudio、PyAudio

最近需要使用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!!!

### 安装Python dlib库的具体操作 对于MacBook Pro M1设备而言,安装dlib库并非易事,因为该芯片架构特殊,部分软件可能无法直接兼容。然而,通过Anaconda环境管理工具可以较为顺利地完成这一过程[^1]。 #### 创建特定版本的Conda环境 考虑到M1处理器以及后续可能会遇到的各种依赖关系问题,建议创建一个新的虚拟环境来专门用于此项目。这一步骤能够有效隔离不同项目的依赖冲突,并确保所使用的Python版本是最新的稳定版之一(如3.9),而不是macOS自带的老化版本2.7[^4]。 ```bash conda create -n face_detection_env python=3.9 ``` 激活新建立好的环境: ```bash conda activate face_detection_env ``` #### 安装必要的构建工具CMake 鉴于dlib对外部库cmake存在强依赖性,在正式引入目标模块之前先要保证系统内已正确部署好这个编译器。可以通过Homebrew轻松获取最新发行版;如果尚未安装Homebrew,则需先行访问其官方网站依照指示进行设置[^2]。 利用Homebrew安装CMake: ```bash brew install cmake ``` 确认安装无误后可通过命令`cmake --version`查看当前版本信息。 #### 获取并编译DLib源码 不同于简单调用pip来进行自动化安装的方式,针对Apple Silicon平台上的特殊情况,更推荐从GitHub仓库克隆官方发布的dlib源代码副本,接着依据README.md文档中的指导说明手动执行构建流程。这样做不仅有助于绕过预编译二进制文件不适配ARM架构的问题,还能让用户更好地理解整个安装机制背后的工作原理。 前往终端应用,依次键入下列指令以拉取远程资源并切换至对应目录下: ```bash git clone https://github.com/davisking/dlib.git cd dlib mkdir build; cd build ``` 随后根据个人需求调整配置选项,比如是否启用GPU加速支持等功能特性,再运行下面这条语句触发实际的编译动作: ```bash cmake .. make -j8 ``` 最后把生成的目标产物加入到PYTHONPATH环境变量里去以便于之后导入使用: ```bash export PYTHONPATH=$PWD:$PYTHONPATH ``` 此时理论上已经可以在基于Rosetta 2翻译层之上正常运作的应用程序中加载dlib了,不过为了获得最佳性能表现还是应当优先考虑原生移植方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值