Apple macOS (M1Pro)上成功安装PyAudio

Apple macOS (M1Pro)上成功安装PyAudio

背景

最近需要用到PyAudio包进行音频文件的录制,于是就在MAC(m1 pro上)进行安装,本以为直接常规安装就好,结果则是一塌糊涂。尝试过各种方法、查阅了各种论坛,结果还是不成功。在快要认命的紧要关头,在StackOverFlow [1] 的IT问答网站上找到了解决方案。为此,对安装过程进行了总结,便于更多人能够看到。

版本

1. 电脑配置说明

MacBook Pro (14英寸,2021年),版本为macOS Monterey 12.6(官网最新版本),其他信息如下图所示:

电脑配置

2. 软件版本说明

(1)PyAudio

PyAudio为PortAudio V19(跨平台音频I/O库)提供Python绑定。使用PyAudio,可以在各种平台上利用Python播放和录制音频,如GNU/Linux、Microsoft Windows和Apple macOS。PyAudio的官网地址: Cross-platform audio I/O for Python, with PortAudio ,里面有关于PyAudio在不同环境下的安装说明、版本详情以及功能特点,可以在官网上查找你需要的版本和感兴趣的内容。我所安装的版本是 0.2.12版本,官网上最新版本。

(2)Portaudio

由于PyAudio为PortAudio V19提供Python绑定,要想在Apple macOS成功的安装PyAudio,则需要先进行PortAudio 的安装,而对PortAudio 的安装则需要借助工具Homebrew,官网地址: Homebrew 可以查阅其介绍和相关命令。PortAudio 是一个跨平台音频I/O库,官网地址: an Open-Source Cross-Platform Audio API ,感兴趣的可以去查阅。目前的最新版本v19.7.0,也是我所安转的版本。

(3)Python

本文的python版本为Python 3.9.10。

安装

1. 官网所示

Apple macOS 官网PyAudio安装步骤

在Apple macOS上首先安装Homebrew,其次安装Portaudio,最后安装PyAudio。

2. 具体步骤

(1)安装Homebrew

Homebrew 的安装方法有很多,在网站上可以很容易就查询到。在这里简介两个方法:

方法1: 此方法取决于网速,在国内很难安装成功

在终端执行命令:/bin/bash -c "$(curl -fsSL raw.githubusercontent.com )"

方法2: 借用国内的镜像源,安装速度快

在终端执行命令:/bin/zsh -c "$(curl -fsSL gitee.com/cunkai/Homebr )"

镜像按装

选择镜像源;安装完成后查阅是否成功,在终端输入命令:brew,如果出现brew 开头的一系列命令行,则证明安装成功。

安装成功显示

如果已经安装过,则可以直接跳过上述内容。

(2)安装portaudio和PyAudio

步骤1: 安装portaudio

终端执行命令:brew install portaudio

步骤2 : 链接portaudio,通常情况下是已经链接好的,为了防止万一,再执行一次

终端执行命令:brew link portaudio

步骤3: 复制portaudio的安装路径,在后面的步骤会用到

终端执行命令:brew --prefix portaudio

步骤4: 在主目录下创建 .pydistutils.cfg 配置文件;配置完成后进行保存,esc 键后,control + X键退出。

.pydistutils.cfg 配置文件中增加portaudio安装后的include和lib路径

步骤5: 安装pyaudio

终端执行命令:pip install pyaudio

安装成功

步骤6: 验证是否可用

终端执行命令:python;然后输入:import pyaudio ;enter键之后没有其他信息,则证明可以正常使用;

可以正常使用

重点

  • 在网上看到很多人说到pyaudio在Apple macOS(M1、M1Pro、M1Max芯片版本)上安装时与python的版本有关系,其实是没关系的,用conda创建虚拟环境,都是可以安装成功的;我在python37、python38、python39上都有过尝试,不会出现错误;
  • 在pyaudio安装的过程中,一定要注意portaudio 的安装路径,在创建配置文件.pydistutils.cfg 时要用到,如果配置路径不对,则会出现找不到partaudio.h的错误,无法安装成功。


今天要说的就这么多了,感谢你的浏览,如有不足之处,敬请不吝赐教!

参考

  1. ^ 1 https://stackoverflow.com
发布于 2022-09-21 19:55