如何使用 Python 3 在 Mac 上安装 pyaudio?

Posted

技术标签:

【中文标题】如何使用 Python 3 在 Mac 上安装 pyaudio?【英文标题】:How to install pyaudio on mac using Python 3? 【发布时间】:2016-02-24 09:34:01 【问题描述】:

我第一次尝试:

pip install pyaudio

但有人告诉我

-bash: pip: command not found

然后我尝试了:

pip3 install pyaudio

然后我得到:

src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found

#include "portaudio.h"

         ^

1 error generated.

error: command '/usr/bin/clang' failed with exit status 1

----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 -c "import setuptools, tokenize;__file__='/private/var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-build-43z_qk7o/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-tkf78ih4-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-build-43z_qk7o/pyaudio

但是我已经安装了portaudio

brew install portaudio

警告:portaudio-19.20140130 已安装

那我该怎么办?

【问题讨论】:

【参考方案1】:

我假设您使用的是 Mac。这是一个很容易解决的问题。

首先安装 Xcode。然后重新启动计算机。然后依次运行命令,

xcode-select --install
brew remove portaudio
brew install portaudio
pip3 install pyaudio

澄清一下,Xcode 是通过 App Store 安装的。某些安装需要 Xcode 命令行工具,而另一些则不需要。我把它包括在这里只是为了安全起见。您也可能不需要通过 Homebrew 卸载并重新安装公式,我这样做是为了确保绝对没有问题。

编辑:有人告诉我 Homebrew 需要 Xcode。所以只需运行

xcode-select --install

能够使用 Clang 的命令。还有你用的是什么版本的Mac?

【讨论】:

我很确定 Homebrew 不会在没有安装命令行工具的情况下安装。它也写成 Xcode 而不是 xCode。 我在没有开发工具的情况下安装了 Homebrew。我刚检查过。在@AR7 发布不准确的信息之前,请仔细检查您的来源。 请删除“命令序列”中行尾的句点。 @AR7 更新库需要“xcode-select” - 升级到 Mac OS 的 El Captin (10.11.7) 后发现此问题。 如果问题仍然存在,请使用 pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L /usr/local/lib' pyaudio 我遇到了类似的问题。但是,会出现以下消息:#include "portaudio.h" ^~~~~~~~~~~~~ 1 个错误生成。错误:命令“gcc”失败,退出状态为 1 你知道出了什么问题吗?【参考方案2】:

步骤: 我假设您使用的是 mac osx

    通过将此代码粘贴到任何终端点来下载自制软件 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    安装 homebrew 后,安装 portaudio: brew install portaudio

    最后使用 pip 安装 pyaudio pip install pyaudio

注意:如果尚未安装,请确保安装自制软件

【讨论】:

【参考方案3】:

对于 mac,我认为您必须在终端中输入:

sudo pip install pyaudio

此外,您可能必须像其中一个答案中所说的那样安装 Xcode。

【讨论】:

【参考方案4】:

步骤:我假设您使用的是mac osx

下载homebrew,将此代码粘贴到任何终端点/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装homebrew后,安装portaudiobrew install portaudio

最后使用 pip pip install pyaudio 安装pyaudio

【讨论】:

这是上述答案的精确副本。【参考方案5】:

打开终端(位于应用程序的实用程序文件夹中)并按照说明进行操作:

使用自制软件:

brew install portaudio
pip install pyaudio

没有自制软件:

cd Downloads
curl http://files.portaudio.com/archives/pa_stable_candidate_v190700_rc2_20210331.tgz
tar -xzf pa_stable_candidate_v190700_rc2_20210331.tgz
cd portaudio

pip3 install pyaudio --global-option="build_ext" --global-option="-I$(pwd)/include" --global-option="-L$(pwd)/lib"

【讨论】:

【参考方案6】:

在 MacOS 的情况下

brew install portaudio

pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio

【讨论】:

【参考方案7】:

我在 Macbook Pro M1 上使用 Homebrew 失败。

相反,我从源代码 http://files.portaudio.com/docs/v19-doxydocs/tutorial_start.html 安装了 portaudio

使用过

./configure && make
sudo make install
sudo cp include/pa_mac_os.h /usr/local/include

显然,Mac M1 的 portaudio 包中有一个错误,所以我不得不添加包含文件副本的 hack。

然后

python3 -m pip install pyaudio

它成功了。

【讨论】:

以上是关于如何使用 Python 3 在 Mac 上安装 pyaudio?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用pip在mac OS上安装mecab-python3

Mac 上Python多版本切换

如何在 Mac 10.8.3 上安装 qpdf?

mac上安装python3 和 sqlite的问题

如何安装python

使用 Homebrew 和 pyenv 在 Mac 上安装 OpenCV 3 for Python 3