Pyaudio安装错误 - “命令'gcc'失败,退出状态为1”

65
我正在运行Ubuntu 11.04,Python 2.7.1,并想要安装Pyaudio。我在终端运行了以下命令:
$ sudo easy_install pyaudio
进程以以下错误消息退出:
Searching for pyaudio
Reading http://pypi.python.org/simple/pyaudio/
Reading http://people.csail.mit.edu/hubert/pyaudio/
Best match: pyaudio 0.2.4
Downloading http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-0.2.4.tar.gz
Processing pyaudio-0.2.4.tar.gz
Running PyAudio-0.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0Tetss/PyAudio-0.2.4/egg-dist-tmp-PYy9T8
In file included from /usr/include/python2.7/Python.h:8:0,
                 from src/_portaudiomodule.c:30:
/usr/include/python2.7/pyconfig.h:1155:0: warning: "_POSIX_C_SOURCE" redefined
/usr/include/features.h:214:0: note: this is the location of the previous definition
src/_portaudiomodule.c:31:23: fatal error: portaudio.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
我不确定是否应该在askubuntu.com或这里的stackoverflow上发布此问题,但无论如何,我在stackoverflow上发布了。另外,我谷歌搜索了一下此问题,并发现通过安装python-dev已经解决了某些人的问题。我已经安装了python-dev,可能出了什么问题?
更新:
在安装了libportaudio-dev之后,我遇到了以下新错误:I am a machine learning model designed to process text input and generate responses. My capabilities include language understanding, natural language generation, and knowledge retrieval.
10个回答

117

2
至少在我的Ubuntu 14.04上,这会导致apt-get抱怨软件包已损坏。我怀疑涉及到一个损坏的依赖关系,因为这个答案是有效的:https://dev59.com/5Oo6XIcBkEYKwwoYTSou#21801632(包括`libjack-jackd2-dev`)。 - Thomas Arildsen
1
我首先以这种方式安装了PortAudio,然后安装了Pyaudio,在Ubuntu 18.04上运行正常。 - eduardosufan
在运行了sudo apt-get install portaudio19-dev 之后, 我能够通过以下命令安装pyaudio:sudo apt-get install pyaudio - Frans Sjöström

42

我通过使用包管理器解决了这个问题:

 $ sudo apt-get install python-pyaudio

尽管还不清楚为什么easy_install失败了。


最简单的安装方法。似乎PIP和easy_install无法安装C源代码依赖项。 - htmldrum
6
一般来说,这并不是一个推荐的解决方案。在这种情况下,pyaudio系统包和pip包都是最新的,但通常系统包非常老旧且存在漏洞。安装相关的系统包,然后使用easy_install或pip(如下面的解决方案所述)进行安装,通常会获得更好的安装效果。 - Cerin

36

在Ubuntu 13.10,也就是Saucy Salamander上,我通过安装libjack-jackd2-devportaudio19-dev来解决问题。

sudo apt-get install libjack-jackd2-dev portaudio19-dev

那么 pip install pyaudio 应该能够正常工作。


我们如何在Windows 7电脑上安装? - Bhaskara Arani
谢谢,伙计!在尝试了42次类似的解决方案后,这个完美地解决了问题! :) - Avio
这是在我的树莓派上运行的。谢谢! - Chase Roberts

28

我在我的虚拟环境中安装了pyaudio (0.2.11)

  1. pip install pyaudio -> 出现错误
  2. sudo apt-get install portaudio19-dev -> 成功
  3. pip install pyaudio -> 成功

5

这是我使它工作的方法:

  1. brew update(如果你的brew已经是最新版本,则可以忽略此步骤)
  2. brew install portaudio
  3. brew link --overwrite portaudio
  4. sudo python2.7 -m pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio

3

我也遇到了同样的问题。我使用MAC电脑,通过运行以下代码解决了这个问题。

brew install portaudio

pip install pyaudio


3
在Fedora 27上,为了从默认的Python3安装中获取pyaudio,我执行了以下步骤:
sudo dnf install python3-devel
sudo dnf install portaudio-devel
sudo pip3 install pyaudio

确认在 Fedora 30 上工作。阅读文档 - Debian/Ubuntu - Eido95

2
使用以下命令安装pyaudio:
sudo apt-get install python-pyaudio

1

我在使用OpenSuse (13.2)时遇到了类似的错误,后来发现了这个问题。因此,我想把我的解决方案也发布出来,以防其他人通过谷歌搜索到这个问题。

虽然libportaudio2是包含库的软件包,但你还需要安装portaudio-devel才能使安装工作正常进行。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接