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上首先安装Homebrew,其次安装Portaudio,最后安装PyAudio。
2. 具体步骤
(1)安装Homebrew
Homebrew 的安装方法有很多,在网站上可以很容易就查询到。在这里简介两个方法:
方法1: 此方法取决于网速,在国内很难安装成功
在终端执行命令:/bin/bash -c "$(curl -fsSL https:// raw.githubusercontent.com /Homebrew/install/HEAD/install.sh )"
方法2: 借用国内的镜像源,安装速度快
在终端执行命令:/bin/zsh -c "$(curl -fsSL https:// gitee.com/cunkai/Homebr ewCN/raw/master/Homebrew.sh )"
选择镜像源;安装完成后查阅是否成功,在终端输入命令: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键退出。
步骤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的错误,无法安装成功。
今天要说的就这么多了,感谢你的浏览,如有不足之处,敬请不吝赐教!