我正在使用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,或者手动编译),我想找到一种简单的方法来解决这个问题。
由于pyAudio
将portAudio
作为依赖项,因此首先必须安装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
在Ubuntu上构建:
sudo apt-get install python-pyaudio
对于Python3:
sudo apt-get install python3-pyaudio
在Raspbian:
sudo apt-get install python-pyaudio
您必须先安装portaudio然后链接该文件。只有这样你才能找到那个头文件(即portaudio.h)。要使用HomeBrew
程序在mac中安装portaudio,请使用以下命令。
brew install portaudio
brew link portaudio
pip install pyaudio
如果你是管理员,则不需要sudo。我们应该克制使用sudo,因为它会占用很多权限。
在Centos上:
yum install -y portaudio portaudio-devel && pip install pyaudio
对于我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
仅供使用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"
首先,您可以使用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