安装pyaudio时,pip在/usr/local/include中找不到portaudio.h
when installing pyaudio, pip cannot find portaudio.h in /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,或者手动编译),我想找到一个简单的方法来解决这个问题。
由于 pyAudio
有 portAudio
作为依赖项,您首先必须安装 portaudio。
brew install portaudio
然后尝试:pip install pyAudio
。如果安装 portAudio
后问题仍然存在,您可以指定编译器能够找到源程序的目录路径(例如:portaudio.h
)。由于 headers 应该在 /usr/local/include
目录中:
pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' 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
您必须先安装 portaudio,然后 link 该文件。只有这样你才能找到那个头文件(即 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
仅供使用 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"
首先,您可以使用 Homebrew 安装 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
在 Raspbian:
sudo apt-get install python-pyaudio
在 Ubuntu 构建:
sudo apt-get install python-pyaudio
对于Python3:
sudo apt-get install python3-pyaudio
如果您使用 anaconda/miniconda 来管理您的 python 环境,那么
conda install pyaudio
与 pyaudio
同时安装 portaudio
The following NEW packages will be INSTALLED:
portaudio pkgs/main/osx-64::portaudio-19.6.0-h647c56a_4
pyaudio pkgs/main/osx-64::pyaudio-0.2.11-py37h1de35cc_2
我需要执行以下操作才能在 Debian 上安装 PortAudio
sudo apt install portaudio19-dev
在那之前我也apt install
'd python3-portaudio
,虽然它没有用。我不确定这是否也有贡献。
在Termux(这对我有用):
pkg install python
bash -c "$(curl -fsSL https://its-pointless.github.io/setup-pointless-repo.sh)"
pkg install portaudio
pip install pyaudio
为来自@fukudama 的代码片段添加一点稳健性(在非默认自制目录的情况下),
brew install portaudio
pip install --global-option='build_ext' --global-option="-I$(brew --prefix)/include" --global-option="-L$(brew --prefix)/lib" pyaudio
我正在使用 mac osx 10.10 正如 PyAudio 主页所说,我使用
安装 PyAudiobrew 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
)。由于 headers 应该在 /usr/local/include
目录中:
pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' 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
您必须先安装 portaudio,然后 link 该文件。只有这样你才能找到那个头文件(即 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
仅供使用 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"
首先,您可以使用 Homebrew 安装 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
在 Raspbian:
sudo apt-get install python-pyaudio
在 Ubuntu 构建:
sudo apt-get install python-pyaudio
对于Python3:
sudo apt-get install python3-pyaudio
如果您使用 anaconda/miniconda 来管理您的 python 环境,那么
conda install pyaudio
与 pyaudio
portaudio
The following NEW packages will be INSTALLED:
portaudio pkgs/main/osx-64::portaudio-19.6.0-h647c56a_4
pyaudio pkgs/main/osx-64::pyaudio-0.2.11-py37h1de35cc_2
我需要执行以下操作才能在 Debian 上安装 PortAudio
sudo apt install portaudio19-dev
在那之前我也apt install
'd python3-portaudio
,虽然它没有用。我不确定这是否也有贡献。
在Termux(这对我有用):
pkg install python
bash -c "$(curl -fsSL https://its-pointless.github.io/setup-pointless-repo.sh)"
pkg install portaudio
pip install pyaudio
为来自@fukudama 的代码片段添加一点稳健性(在非默认自制目录的情况下),
brew install portaudio
pip install --global-option='build_ext' --global-option="-I$(brew --prefix)/include" --global-option="-L$(brew --prefix)/lib" pyaudio