如何修复 PyAudio、PortAudio 的安装问题:“致命错误 C1083:无法打开包含文件:'portaudio.h':没有这样的文件或目录”
Posted
技术标签:
【中文标题】如何修复 PyAudio、PortAudio 的安装问题:“致命错误 C1083:无法打开包含文件:\'portaudio.h\':没有这样的文件或目录”【英文标题】:How to fix installation issues for PyAudio, PortAudio: "fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory"如何修复 PyAudio、PortAudio 的安装问题:“致命错误 C1083:无法打开包含文件:'portaudio.h':没有这样的文件或目录” 【发布时间】:2019-01-30 05:18:40 【问题描述】:我在安装 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
我现在不知道该去哪里。
【问题讨论】:
【参考方案1】:试试这个,以管理员身份使用 CMD 并运行以下命令:
pip install pipwin
pipwin install pyaudio
【讨论】:
这个答案应该被接受,因为它是问题的实际答案,因为问题是关于windows操作系统上的pyaudio安装错误,这个解决方案解决了它 @ZainUlAbidinconda
也是一个对我有用的解决方案;但是,pipwin
似乎更轻量级。
对我来说很棒的作品,所以对答案表示赞成
非常感谢!【参考方案2】:
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
。你真的应该只对conda
或conda-forge
上不可用的包使用pip
。
如果您还没有设置conda-forge
,您可能想先设置:
conda config --add channels conda-forge
然后,这应该就是你所需要的:
conda install pyaudio
不像pip
包,它只是假设你已经正确安装了portaudio
,conda
包将自动安装portaudio
作为pyaudio
的依赖项,或者告诉你为什么它不能。
【讨论】:
我正在使用 anaconda。我将它安装在 sublime text 包管理器中。那么有一种方法可以用它安装 portaudio 吗? @KevinM1990112qwq 如果您使用的是 Anaconda,为什么您使用pip install pyaudio
而不是 conda install pyaudio
?
我没有任何想法,我只是在看python入门教程,这就是它告诉我要做的。
Conda 也不工作,即使我确实在 sublime 中安装了包管理器,也可能没有安装。伙计,这有点令人困惑。大声笑
@KevinM1990112qwq 您是否安装了两个或多个不同的 Python 副本?如果您正确安装了 Anaconda,conda
应该在您的 PATH 中。 (如果没有,python
不应该在你的 PATH 上,或者pip
,所以 nothing 应该可以工作。)【参考方案3】:
官方PyAudio 0.2.11不支持Python 3.7+,尝试安装会报错C1083: Cannot open include file: 'portaudio.h'
。
但是,PyAudio 有 unofficial wheels 支持 3.7+。
如果您使用的是正式版,则必须使用 Python 3.6 和 PyAudio 0.2.11。
见http://people.csail.mit.edu/hubert/pyaudio/
【讨论】:
有没有pyaudio的替代品可以在python3.7中使用? @NaazneenJatu,安装 3.6,在其中使用 virtualenv。 致未来的人们:有非官方的 pyaudio ***构建,可让您在最近的 python 3.7+ 中安装它。看这里:***.com/a/55630212 谢谢@Starwarswii,我已将此信息添加到答案中【参考方案4】:我在 python 3.6.x 上安装了 pyaudio 没有问题,但不能在更高版本上运行。
py -m pip install pyaudio
在 3.6.x 或更早版本上完美运行。
【讨论】:
【参考方案5】:您可以使用它安装 Anaconda install pyaudio。 您必须将 Anaconda 添加到路径。 安装 Anaconda 并添加到路径后,然后在命令提示符[cmd] 中键入 康达安装pyaudio。 还有鲸鱼
【讨论】:
【参考方案6】:如果您在尝试使用 pipwin 安装时遇到错误,则必须通过 python 运行它,因为 windows 无法识别 pipwin(至少对我而言)
pip install pipwin
python -m pipwin install pyaudio
【讨论】:
【参考方案7】:如果您使用的是 anaconda,那么这个问题是因为您的版本没有升级。要升级所有软件包,只需在终端中运行以下命令。
conda 更新 --all
【讨论】:
【参考方案8】:您可以使用
安装Portaudio
pip install port audio
你可能还需要
pip install ConfigParser
让我知道它是否有效。
【讨论】:
@studioj 它不适用于 python 3.7 这个库到现在只更新到 3.6以上是关于如何修复 PyAudio、PortAudio 的安装问题:“致命错误 C1083:无法打开包含文件:'portaudio.h':没有这样的文件或目录”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PyAudio 或 PortAudio 获取设备的音频采样率列表?
如何解决Linux系统下pyaudio安装缺少文件问题error: portaudio.h: 没有那个文件或目录
RPi Pyaudio/Portaudio + ALSA:如何选择/更改多路复用器输入