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

49

我首先尝试了:

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已经安装

那我该怎么办?

11个回答

88

我假设你正在使用Mac电脑。这是一个简单的问题,可以轻松解决。

首先安装Xcode。然后重新启动电脑。之后按顺序运行命令即可。

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

为了澄清,Xcode是通过App Store安装的。一些安装需要Xcode命令行工具,而其他一些则不需要。我在这里包含它只是为了安全起见。您也可能无需通过Homebrew卸载和重新安装配方,我这样做是为了确保绝对没有问题。

编辑:有人告诉我Homebrew需要Xcode。因此,请运行

xcode-select --install

请问您使用的是哪个版本的Mac系统?另外,您需要使用Clang命令吗?


我非常确定,如果没有安装命令行工具,Homebrew 将无法安装。另外,它的名称应该是 Xcode 而不是 xCode。 - m0meni
1
我已经安装了Homebrew,但没有开发工具。我刚刚检查过了。在发布不准确的信息之前,请再次确认您的来源@AR7。 - user5070125
3
如果问题仍然存在,请使用以下命令进行安装:pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio。 - Swarit Agarwal
2
我遇到了类似的问题。但是,出现了以下消息: #include "portaudio.h" ^~~~~~~~~~~~~ 1 error generated. error: command 'gcc' failed with exit status 1 你知道出了什么问题吗? - Carlos Bazilio
我按照你的指示操作后仍然遇到错误。 我注意到当我运行第一个命令时,终端显示Xcode工具已经安装。 有人知道我的问题可能是什么吗? - John Sorensen
显示剩余3条评论

23

对我都没有用,尝试以下方法:

CFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" python3 -m pip install pyaudio

3
这是唯一在 M1 MacBook Pro 上可行的选项。 - Sebastian
2
谢谢,这是唯一一个也适用于 M1 MacBook Air 的解决方案。 - Ashu Pathak
2
谢谢!我已经尝试让它工作了将近一个小时。这个解决方案在我的Macbook Air上起作用了。 - Malek
1
谢谢,这是在 M1 Monterey 12.5 上唯一有效的解决方案。 - mtnmtn13
1
这是唯一在我的 M1 MBA 上能够正常工作的解决方案,非常感谢! - Jakob Lindskog
显示剩余4条评论

10

步骤: 我假设您正在使用Mac OSX

  1. 复制以下代码到任何终端点下载Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Homebrew安装完成后,安装Portaudio: brew install portaudio

  3. 最后使用pip安装Pyaudio pip install pyaudio

注意:确保安装Homebrew,如果它尚未安装。


7

如果是MacOS系统

brew install portaudio

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

6

(我使用的是 M1 MacBook Air)这对我来说是第一个可用的。

brew install flac
pip uninstall pyaudio 
brew uninstall portaudio
brew update 
brew install portaudio 
python3 -m pip install pyaudio --global-option="build_ext" --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib"
pip install pyaudio

4

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

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

然后使用以下命令:

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

显然,在Mac M1的portaudio软件包中存在一个错误,因此我不得不添加包含文件的副本的hack。

但是,随后

python3 -m pip install pyaudio

然后它就可以使用了。


非常感谢您的回答。我需要进行一些额外的步骤,并将其作为评论添加在此处,以便其他人查看。除了按照答案中所示复制pa_mac_os.h之外,您还需要执行以下操作: sudo cp include/portaudio.h /usr/local/include最后,在运行pip install时,使用以下命令包括include路径: pip3 install --global-option=build_ext --global-option="-I/usr/local/include" pyaudio - Saifur Rahman Mohsin

3

打开终端(在应用程序中的实用工具文件夹中),然后按照以下说明操作:

使用Homebrew:

brew install portaudio
pip install pyaudio

没有Homebrew:

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"

2
步骤:假设您使用的是Mac OSX操作系统
下载homebrew,复制以下代码并在终端粘贴输入:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装homebrew之后,安装portaudio: brew install portaudio
最后使用pip安装pyaudio: pip install pyaudio

2
这是上面答案的完全复制。 - LuisAFK

0
对于Mac电脑,我认为你需要在终端中输入以下内容:
sudo pip install pyaudio

另外,你可能需要像答案中所说的那样安装Xcode。


0
如果您想在Jupyter Notebook中安装Pyaudio,请按照以下步骤操作。打开终端并输入以下命令:
brew install portaudio
pip install pyaudio

完成上述步骤后,转到Jupyter笔记本并执行以下代码。

pip install pyaudio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接