2015-11-04 197 views
20

我使用的Mac OSX 10.10 正如PyAudio首頁說,我安裝使用安裝pyaudio時,PIP無法找到portaudio.h在/ usr /本地/包括

brew install portaudio 
pip install pyaudio 

安裝portaudio的PyAudio似乎是成功的,我能找到頭文件和庫在/ usr /本地/ 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,或手動編譯它),並且我想找到解決此問題的簡單方法。

回答

62

由於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 
+0

PyAudio的版本是0.2.9。 – fukudama

+2

這似乎工作,但爲什麼?不應該/ usr/local目錄是默認的? build_ext默認運行(並且無法找到)。 –

+1

它也適用於我。看起來你指定了手動查找標題的路徑,有什麼辦法將它配置爲默認? –

2

對我來說,在10.10.5的路徑是在/ opt /地方。我不得不將/ 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

3

你必須首先安裝portaudio然後鏈接那個文件。只有這樣你才能找到該頭文件(即portaudio.h)。要使用HomeBrew程序在mac中安裝portaudio,請使用以下命令。

brew install portaudio 
sudo brew link portaudio 
sudo pip install pyaudio 
+1

這實際上對我有用。然而,不需要鏈接。 –

+0

我在OS X El Capitan,版本10.11.5,這也適用於我 – meetri

0

在CentOS:

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

只是爲了使用MacPorts的,而不是自制鄉親記錄:

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

首先,你可以使用BREW安裝portaudio。

釀造安裝portaudio

然後試圖找到portaudio路徑 須藤查找/ -name 「portaudio.h」

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

運行下面的安裝pyaudio

PIP安裝 'build_ext' --global選項='--global選項= - 我的/ usr /本地/庫/ portaudio/19.6.0 /包括'--global-option =' - L/usr/local/Cellar/portaudio/19.6。0/lib'pyaudio