我在安装PyAudio和portaudio时遇到问题。
当我python -m pip install pyaudio收到此错误时:
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并得到了这个错误:
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
pip
请参阅PortAudio网站以获得有关获取并将其安装在平台上的官方方法的详细信息。
在Windows上获取AFAIK的官方方法是下载源代码,然后按照教程中的说明自行编译。您可能想要使用与Python C扩展相同的编译器进行构建,尽管我不确定是否需要这样做。
或者,如果您在Windows上使用像Chocolatey这样的第三方程序包管理器,则很有可能安装PortAudio。
或者,如果您将Anaconda或Miniconda用于Python,则conda包管理器会知道如何安装Python包所依赖的非Python包,包括portaudio。
conda
最后,似乎有很多人为Windows提供了非官方的预编译PortAudio二进制文件。如果您搜索“二进制的portaudio Windows”或“预编译的portaudio Windows”,则会发现其中的一些。我不知道这些测试是如何经过良好测试,最新的。
如果您使用的是Anaconda / Miniconda,则应该使用conda install pyaudio而不是pip install pyaudio首先使用。您实际上应该只pip对conda或中不可用的软件包使用conda-forge。
conda install pyaudio
pip install pyaudio
conda-forge
如果尚未设置conda-forge,则可能首先要这样做:
conda config --add channels conda-forge
然后,这应该是您所需要的:
与pip仅假设您已portaudio正确安装的软件包不同,该conda软件包将自动安装portaudio为的依赖项pyaudio,或者告诉您为什么不能这样做。
pyaudio