При установке pyaudio, pip не может найти portaudio.h в/usr/local/include
Я использую 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 или скомпилировать его вручную), и я хочу найти простой способ решить эту проблему.
Ответы
Ответ 1
Так как 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
Ответ 2
Вы должны сначала установить portaudio, а затем связать этот файл. Только тогда вы можете найти этот заголовочный файл (то есть portaudio.h). Для установки portaudio в Mac с помощью программы HomeBrew
используйте следующие команды.
brew install portaudio
brew link portaudio
pip install pyaudio
sudo не нужно, если вы администратор. Мы должны воздерживаться от использования sudo, так как это портит много прав.
Ответ 3
На Распбиане:
sudo apt-get install python-pyaudio
Ответ 4
на Centos:
yum install -y portaudio portaudio-devel && pip install pyaudio
Ответ 5
На Ubuntu строит:
sudo apt-get install python-pyaudio
Для Python3:
sudo apt-get install python3-pyaudio
Ответ 6
Для меня 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
Ответ 7
Только для записи для людей, использующих 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"
Ответ 8
Сначала вы можете использовать brew для установки portaudio.
варить установить 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