Python软件包安装问题:PyAudio,PortAudio

时间:2018-08-23 18:43:23

标签: python pip pyaudio portaudio

首先,我是python开发的新手。我看了很多教程,现在我想开始学习。我在安装PyAudio和portaudio时遇到问题。

这是错误。

当我执行以下命令时

python -m pip install pyaudio

我收到以下错误消息。

    src/_portaudiomodule.c(29): fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory
     error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.14.26428\\bin\\HostX86\\x86\\cl.exe'
failed with exit status 2

    ---------------------------------------- Command ""C:\Users\This PC\AppData\Local\Programs\Python\Python37-32\python.exe" -u -c "import
setuptools,
tokenize;__file__='C:\\Users\\THISPC~1\\AppData\\Local\\Temp\\pip-install-3ock7jqh\\pyaudio\\setup.py';f=getattr(tokenize,
'open', open)(__file__);code=f.read().replace('\r\n',
'\n');f.close();exec(compile(code, __file__, 'exec'))" install
--record C:\Users\THISPC~1\AppData\Local\Temp\pip-record-14pe9p6y\install-record.txt
--single-version-externally-managed --compile" failed with error code 1 in
C:\Users\THISPC~1\AppData\Local\Temp\pip-install-3ock7jqh\pyaudio\

因此,在查找了该错误之后,我读了我需要安装portaudio。所以我做了以下命令。 python -m pip install portaudio 并且出现以下错误。

Collecting portaudio   Could not find a version that satisfies the
requirement portaudio (from versions: ) No matching distribution found
for portaudio

我不知道现在该从哪里去。老实说,这使python看起来很烦人。任何帮助表示赞赏。

7 个答案:

答案 0 :(得分:9)

尝试此操作,以管理员身份CMD并运行以下命令:

pip install pipwin
pipwin install pyaudio

答案 1 :(得分:5)

portaudio不是Python软件包,它是一个完全独立于Python的C库,因此您无法通过pip安装它。

请参阅PortAudio网站,以获取正式获取方式并将其安装在平台上的详细信息。

AFAIK,在Windows上获取它的官方方法是下载源代码,然后按照Tutorial中的说明自行进行编译。您可能想要使用与Python C扩展相同的编译器来构建它,尽管我不确定是否需要这样做。

或者,如果您在Windows上使用Chocolatey之类的第三方程序包管理器,则很有可能安装PortAudio。

或者,如果您将Anaconda或Miniconda用于Python,则conda软件包管理器会知道如何安装Python软件包所依赖的非Python软件包including portaudio

最后,似乎有很多人为Windows提供了非官方的预编译PortAudio二进制文件。如果您搜索“二进制的portaudio Windows”或“预编译的portaudio Windows”,则会发现其中的一些。我不知道它们经过了多么完善的测试,最新的测试。


如果您使用的是Anaconda / Miniconda,则应该首先使用conda install pyaudio而不是pip install pyaudio。对于在pipconda上不可用的软件包,您实际上应该只使用conda-forge

如果您尚未设置conda-forge,则可能要先执行以下操作:

conda config --add channels conda-forge 

然后,这应该是您所需要的:

conda install pyaudio

pip软件包(假设您已正确安装portaudio)不同,conda软件包将自动安装portaudio作为pyaudio的依赖项,或告诉您为什么不能。

答案 2 :(得分:3)

Python 3.7不支持PyAudio 0.2.11,尝试安装会导致错误C1083: Cannot open include file: 'portaudio.h'

您必须将Python 3.6与PyAudio 0.2.11结合使用。

请参见http://people.csail.mit.edu/hubert/pyaudio/

答案 3 :(得分:2)

我在python 3.6.x上安装了pyaudio,没有问题,但是在更高版本上不起作用。

py -m pip instal pyaudio

在3.6.x或更早版本上可以完美运行。

答案 4 :(得分:1)

您可以使用Anaconda安装pyaudio。 您必须将Anaconda添加到路径。 安装Anaconda并添加到路径后,然后在命令提示符[cmd]中键入 康达安装pyaudio。 还有鲸鱼

答案 5 :(得分:1)

如果您正在使用anaconda,则此问题是因为您的版本尚未升级。要升级所有软件包,只需在终端中运行以下命令即可。

  

conda更新--all

答案 6 :(得分:0)

您可以使用

安装Portaudio
pip install port audio

您可能还需要

pip install ConfigParser

让我知道它是否有效。