无法安装pyaudio,gcc错误

36
尝试按照指示在此处安装pyaudio:
$ git clone http://people.csail.mit.edu/hubert/git/pyaudio.git
$ cd pyaudio
$ sudo python setup.py install
running install
running build
running build_py
running build_ext
building '_portaudio' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/_portaudiomodule.c -o build/temp.linux-x86_64-2.7/src/_portaudiomodule.o
In file included from /usr/include/python2.7/Python.h:8:0,
                 from src/_portaudiomodule.c:28:
/usr/include/python2.7/pyconfig.h:1161:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
/usr/include/features.h:215:0: note: this is the location of the previous definition
src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1

我的安装出了什么问题?


8
gcc找不到PortAudio头文件,你是否安装了PortAudio开发包(例如,对于Ubuntu可以使用apt-get install libportaudio-dev安装)? 另外需要注意的是,在Ubuntu中,至少对于Python 2和3来说,pyaudio已经在软件库中了,可以通过apt-get install python(3)-pyaudio进行安装。 - l4mpi
1
那个有效,我会接受它作为答案,谢谢! - Mittenchops
1
可能存在重复发布:https://dev59.com/5Oo6XIcBkEYKwwoYTSou?rq=1 - Paul
对我有用的是Cerin在AI_ROBOT答案中的评论。正在使用Ubuntu 20.04.3 LTS。 - YoussefDir
16个回答

64

非常抱歉上次回答不当,我现在来发布问题的解决方案。对于Ubuntu发行版用户可能会有帮助。

  1. 首先需要安装portaudio模块:sudo apt-get install libasound-dev

  2. http://files.portaudio.com/download.html下载portaudio压缩包

  3. 解压压缩包:tar -zxvf [portaudio.tgz]

  4. 进入解压后的目录,然后执行:./configure && make

  5. 安装:sudo make install

  6. 最后执行:sudo pip install pyaudio

  7. 检查pyaudio的版本,应该为0.2.9


39
无需下载tar包,只需执行以下命令:sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 - Cerin
1
@Cerin,那对我实际上没有用,所以我不得不遵循tarball的说明,现在它可以工作了。 - alex
@alex 你用的是什么操作系统?在我的 Ubuntu 16.04 上,它运行得很好。 - Cerin
@Cerin,同样是16.04版本,但apt-get方法无法定位该软件包。此外,在执行apt-get update时还出现了段错误。这可能是另一个问题,我需要逐步解决。但我成功地从tar文件中安装了portaudio。 - alex
感谢您。由于yum仅限于本地资源库,针对CentOS的解决方案对我有用。 - Shahid Hussain
显示剩余2条评论

24

这对我有用:

sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg libav-tools
sudo pip install pyaudio

21

在Ubuntu上:

sudo apt-get install python-pyaudio
或者
sudo apt-get install python3-pyaudio

1
sudo apt-get install python3-pyaudio 已经完美地运行了。谢谢。02/2022 - drascom

13

安装2件东西,

sudo apt-get install portaudio19-dev python-pyaudio

然后,

pip install pyaudio

7

对于CentOS7:

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

谢谢,这很有帮助。 - Ruchir Rai

6
针对 Windows 操作系统:

使用 pip 进行安装:

 python -m pip install pyaudio

如果您的 Python 安装没有捆绑 pip,则需要从这里获取。 对于 Mac OS X: 使用 Homebrew 以安装先决条件 portaudio 库,然后使用 pip 安装 PyAudio:
 brew install portaudio
 pip install pyaudio

pip将会下载PyAudio源码并为您使用的Python版本构建它。

对于Debian/Ubuntu用户:

使用软件包管理器安装PyAudio

 sudo apt-get install python-pyaudio python3-pyaudio

如果最新版本的PyAudio不可用,请使用pip安装它:
pip install pyaudio

为了更好地与系统软件包隔离,建议在虚拟环境中安装PyAudio。 PyAudio源代码: 可以在Python包索引(PyPI)上下载源代码:这里! 或者克隆git存储库:
git clone https://people.csail.mit.edu/hubert/git/pyaudio.git

致谢:PyAudioGitHub:Speech_Recognition


3
  • 首先需要安装portaudio模块:sudo apt-get install libasound-dev

  • http://portaudio.com/download.html下载portaudio压缩包

  • 解压缩:tar -zxvf [portaudio.tgz]

  • 进入目录,然后运行:./configure && make

  • 安装:sudo make install

  • 接着运行:sudo pip install pyaudio

  • 更新并升级系统以修复所有损坏的库

  • sudo apt update && sudo apt upgrade


3
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg# libav-tools
sudo pip install pyaudio

正如Sayantan Ghosh所说(在我的情况下,是与libav-tools相关的错误),

sudo apt-get install python3-pyaudio

根据Aaron的说法,然后执行pip install pyaudio命令。

这些步骤对我来说有效,我使用的是Ubuntu 20.04操作系统。


1

这对我很有用

sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0

然后运行此命令

pip install pyaudio --user

0

我正在使用kali linux 2.0,按照以下步骤操作:

apt-get install portaudio19-dev python-pyaudio

然后:

pip install pyaudio

这对我起作用了。


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