2015-11-04 9 views
20

ich mac osx 10.10 bin mit Da die PyAudio Homepage sagte, installiere ich die PyAudiowenn pyaudio installieren, können pip nicht portaudio.h in/usr/local finden/include

brew install portaudio 
pip install pyaudio 

die Installation von Portaudio mit scheint erfolgreich, kann ich Header und Bibliotheken in/usr/local finden/und/usr/local/lib enthalten, aber wenn ich pyaudio zu installieren versuchen, gibt es mir einen Fehler, dass

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 

es tatsächlich in ist/usr/local/include warum kann es nicht finde die Datei? einige Antworten auf ähnliche Fragen funktionieren nicht für mich (wie mit virtualenv, oder kompilieren Sie es manuell), und ich möchte einen einfachen Weg finden, um dies zu lösen.

Antwort

62

Da pyAudioportAudio als Abhängigkeit hat, müssen Sie zuerst portaudio installieren.

brew install portaudio 

Dann versuchen Sie: pip install pyAudio. Wenn das Problem nach der Installation von portAudio weiterhin besteht, können Sie den Verzeichnispfad angeben, in dem der Compiler die Quellprogramme finden kann (z. B. portaudio.h).

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

Die Version von PyAudio war 0.2.9. – fukudama

+2

Das scheint zu funktionieren, aber warum? Sollten/usr/local-Verzeichnisse nicht die Standardeinstellung sein? build_ext scheint standardmäßig ausgeführt zu werden (und Dinge nicht zu finden). –

+1

Es funktioniert auch für mich. Anscheinend haben Sie die Pfade angegeben, in denen nach Headern gesucht werden soll. Gibt es eine Möglichkeit, sie als Standard zu konfigurieren? –

2

Für mich auf 10.10.5 die Wege waren unter/opt/local: Da die Header im /usr/local/include Verzeichnis vorhanden sein sollten. Ich musste/opt/local/bin zu meiner/etc/paths Datei hinzufügen. Und die Befehlszeile, die funktionierte, war

sudo pip installieren --global-option = 'build_ext' --global-option = '- Ich/opt/local/include' --global-option = '- L/opt/local/lib 'pyaudio

3

Sie müssen zunächst portaudio installieren und dann diese Datei verknüpfen. Nur dann können Sie diese Header-Datei (d. H. Portaudio.h) finden. Um portaudio in mac mit dem Programm HomeBrew zu installieren, verwenden Sie folgende Befehle.

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

Das funktionierte wirklich für mich. Musste jedoch nicht verknüpfen. –

+0

Ich bin auf OS X El Capitan, Version 10.11.5 und das funktionierte auch für mich – meetri

0

auf Centos:

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

Nur für das Protokoll für Leute MacPorts und nicht Homebrew mit:

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

Zuerst können Sie brauen verwenden Portaudio zu installieren.

Gebräu installieren Portaudio

dann versuchen, den Weg Portaudio sudo zu finden find/-name "portaudio.h"

In meinem Fall ist es /usr/local/Cellar/portaudio/19.6.0/include. I/usr/local/Keller/Portaudio/19.6.0/include -

Führen Sie das unter pyaudio

pip installieren --global-option = 'build_ext' --global-option = 'installieren '--global-option =' - L/usr/local/Keller/portaudio/19.6.0/lib 'pyaudio

Verwandte Themen