如何修复 PyAudio、PortAudio 的安装问题:"fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory"

How to fix installation issues for PyAudio, PortAudio: "fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory"

我在安装 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

我现在不知道该去哪里了。

portaudio 不是 Python 包,它是一个完全独立于 Python 的 C 库,所以你不能通过 pip 安装它。

请参阅 PortAudio 网站,了解有关获取它并将其安装在您的平台上的官方方法的详细信息。

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

或者,如果您在 Windows 上使用 Chocolatey 等第三方包管理器,它很有可能可以安装 PortAudio。

或者,如果您为 Python 使用 Anaconda 或 Miniconda,conda 包管理器知道如何安装 Python 包所依赖的非 Python 包, including portaudio.

最后,似乎有很多人为 Windows 提供非官方的预编译 PortAudio 二进制文件。如果您搜索 "portaudio windows binary" 或 "portaudio windows pre-compiled",您会找到其中的一些。我不知道这些都经过了怎样的测试,是最新的等等。


如果您正在使用 Anaconda/Miniconda,您应该首先使用 conda install pyaudio 而不是 pip install pyaudio。您真的应该只对 condaconda-forge.

上不可用的软件包使用 pip

如果您还没有设置 conda-forge,您可能想先设置:

conda config --add channels conda-forge 

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

conda install pyaudio

pip 包不同,它假设您已正确安装 portaudioconda 包将自动安装 portaudio 作为 [=26] 的依赖项=],或者告诉你为什么它不能。

PyAudio 0.2.11官方不支持Python3.7+,尝试安装报错C1083: Cannot open include file: 'portaudio.h'.

但是,PyAudio unofficial wheels 支持 3.7+。

如果您使用的是正式版,则必须使用Python3.6搭配PyAudio 0.2.11。

http://people.csail.mit.edu/hubert/pyaudio/

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

您可以安装 Portaudio

pip install port audio

您可能还需要

pip install ConfigParser

让我知道它是否有效。

如果您使用的是 anaconda 那么这个问题是因为您的版本不是 upgraded.To 升级所有包只需 运行 在终端中执行以下命令。

conda update --all

试试这个,以管理员身份运行 CMD 并 运行 以下内容:

pip install pipwin
pipwin install pyaudio

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

py -m pip install pyaudio

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

如果您在尝试使用 pipwin 安装时遇到错误,您必须 运行 通过 python 安装它,因为 windows 无法识别 pipwin(至少对我而言) )

pip install pipwin
python -m pipwin install pyaudio

在 Ubuntu 发行版上,您可以先 运行

sudo apt install portaudio19-dev

然后再用pip重新安装pyaudio