安装pyaudio时,pip在/ usr / local / include中找不到portaudio.h

问题描述 投票:42回答:8

我正在使用mac osx 10.10正如PyAudio主页所说,我使用了安装PyAudio

brew install portaudio 
pip install pyaudio

portaudio的安装似乎很成功,我可以在/ usr / local / include和/ usr / local / lib中找到头文件和库,但是当我尝试安装pyaudio时,它会给我一个错误

src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found
#include "portaudio.h"
         ^
1 error generated.
error: command 'cc' failed with exit status 1

实际上它在/ usr / local / include中为什么找不到该文件?类似问题的一些答案对我不起作用(比如使用virtualenv,或者手动编译),我想找到一种简单的方法来解决这个问题。

python macos pyaudio
8个回答
106
投票

由于pyAudioportAudio作为依赖项,因此首先必须安装portaudio。

brew install portaudio

然后尝试:pip install pyAudio。如果在安装portAudio后问题仍然存在,则可以指定编译器能够找到源程序的目录路径(例如:portaudio.h)。由于标题应位于/usr/local/include目录中:

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

8
投票

在Ubuntu上构建:

sudo apt-get install python-pyaudio

对于Python3:

sudo apt-get install python3-pyaudio

6
投票

在Raspbian:

sudo apt-get install python-pyaudio

6
投票

您必须先安装portaudio然后链接该文件。只有这样你才能找到那个头文件(即portaudio.h)。要使用HomeBrew程序在mac中安装portaudio,请使用以下命令。

brew install portaudio
brew link portaudio
pip install pyaudio

如果你是管理员,则不需要sudo。我们应该克制使用sudo,因为它会占用很多权限。


4
投票

在Centos上:

yum install -y portaudio portaudio-devel && pip install pyaudio

3
投票

对于我10.10.5,路径在/ opt / local下。我必须将/ opt / local / bin添加到我的/ etc / paths文件中。有效的命令行是

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


2
投票

仅供使用MacPorts而非Homebrew的人员记录:

$ [sudo] port install portaudio
$ pip install pyaudio --global-option="build_ext"  --global-option="-I/opt/local/include" --global-option="-L/opt/local/lib"

1
投票

首先,您可以使用brew来安装portaudio。

brew install portaudio

然后尝试找到portaudio路径sudo find / -name“portaudio.h”

在我的情况下,它是/usr/local/Cellar/portaudio/19.6.0/include

运行以下命令安装pyaudio

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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.