在安装 pydio 时,pip 无法在/usr/local/include 中找到 portaudio.h

我用的是 mac osx 10.10 正如 PyAudio 主页所说,我使用

brew install portaudio
pip install pyaudio

Portaudio 的安装似乎很成功,我可以在/usr/local/include 和/usr/local/lib 中找到头和 lib 但是当我尝试安装 pydio 时,它会给我一个错误

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 中 为什么它找不到文件? 一些类似问题的答案对我来说不起作用(比如使用 viralenv,或者手动编译它) ,我想找到一个简单的方法来解决这个问题。

73264 次浏览

由于 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

对我来说,在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,然后链接该文件。只有这样,您才能找到头文件(即 portaudio.h)。要使用 HomeBrew程序在 mac 中安装 portaudio,请使用以下命令。

brew install portaudio
brew link portaudio
pip install pyaudio

如果你是管理员,就不需要 sudo。我们应该避免使用 sudo,因为它会搞乱许多权限。

关于森托斯:

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

只是为了那些使用 MacPorts 而不是自制软件的人:

$ [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

运行下面的命令来安装 pydio

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

关于拉斯比亚语:

sudo apt-get install python-pyaudio

在 Ubuntu 版本中:

sudo apt-get install python-pyaudio

对于 Python 3:

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

在此之前,我也对 python3-portaudio进行了 apt install测试,尽管它没有起作用。我不确定这是否也起到了作用。

关于 特穆克斯 (这是对我起作用的) :

  1. pkg install python
  2. bash -c "$(curl -fsSL https://its-pointless.github.io/setup-pointless-repo.sh)"
  3. pkg install portaudio
  4. pip install pyaudio

资料来源: < a href = “ https://github.com/termux/termux-package/issues/6235”rel = “ nofollow noReferrer”> Pydio 安装 # 6235

为@fukudama 的代码片段添加一点健壮性(在非默认自制目录的情况下) ,

brew install portaudio
pip install --global-option='build_ext' --global-option="-I$(brew --prefix)/include" --global-option="-L$(brew --prefix)/lib" pyaudio

这是 MacBook Pro m2芯片的测试答案:

首先通过以下方法查找 portaudio.h文件的位置

sudo find / -name "portaudio.h"

然后,一旦您找到了位置,复制它并使用它在这个命令。

LDFLAGS="-L/{opt/homebrew/Cellar/portaudio/19.7.0/}lib" CFLAGS="-I/{opt/homebrew/Cellar/portaudio/19.7.0}/include" pip3 install pyaudio

在这里将位置从{}替换到您的文件位置,希望这样可以工作。我已经尝试了以上的解决方案,这一个为我工作。

对于 M1 Mac 来说,这对我很有效:

LDFLAGS="-L/opt/homebrew/Cellar/portaudio/19.7.0/lib" CFLAGS="-I/opt/homebrew/Cellar/portaudio/19.7.0/include" pip3 install pyaudio

答案:

 Created wheel for pyaudio: filename=PyAudio-0.2.12-cp310-cp310-macosx_11_0_arm64.whl size=24170 sha256=c74eb581e6bca2400f681f68d33654002722969f1a455ffce87e4e5da05471d8
Stored in directory: /private/var/folders/m_/kzyr4q_11cl35ngrj77k28f00000gn/T/pip-ephem-wheel-cache-ql1x8ums/wheels/93/08/0b/b915ab1895927641737175e5bc7b6111e8ed0c26daabeecba0
Successfully built pyaudio
Installing collected packages: pyaudio
Successfully installed pyaudio-0.2.12

请注意,不要使用 find/是非常缓慢和愚蠢的,使用酿造信息 portaudio