在Windows 10上安装PyAudio失败

20

当我试图使用以下命令安装PyAudio时

pip install pyaudio

我遇到了这个错误:

C:\Users\pankajkaun>pip install pyaudio
Collecting pyaudio
  Using cached https://files.pythonhosted.org/packages/ab/42/b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b/PyAudio-0.2.11.tar.gz
Installing collected packages: pyaudio
  Running setup.py install for pyaudio ... error
    Complete output from command c:\users\pankajkaun\desktop\python\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\PANKAJ~1\\AppData\\Local\\Temp\\pip-install-pw8_ueh5\\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\PANKAJ~1\AppData\Local\Temp
\pip-record-eru_9orv\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    copying src\pyaudio.py -> build\lib.win-amd64-3.7
    running build_ext
    building '_portaudio' extension
    creating build\temp.win-amd64-3.7
    creating build\temp.win-amd64-3.7\Release
    creating build\temp.win-amd64-3.7\Release\src
    C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DMS_WIN64=1 -Ic:\users\pankajkaun\desktop\python\include -Ic:\users\pankajkaun\desktop\python\
include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-
IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:
\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /Tcsrc/_portaudiomodule.c /Fobuild\temp.win-amd64-3.7\Release\src/_portaudiomodule.obj
    _portaudiomodule.c
    c:\users\pankajkaun\desktop\python\include\pyconfig.h(117): warning C4005: 'MS_WIN64': macro redefinition
    src/_portaudiomodule.c: note: see previous definition of 'MS_WIN64'
    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\\BuildTools\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

    ----------------------------------------
Command "c:\users\pankajkaun\desktop\python\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\PANKAJ~1\\AppData\\Local\\Temp\\pip-install-pw8_ueh5\\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\PANKAJ~1\AppData\Local\Temp\pip-record-eru_9orv\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\PANKAJ~1\AppData\Local\Temp\pip-install-pw8_ueh5\pyaudio\

这里发生了什么事情,你有什么想法吗?

7个回答

103

尝试在管理员模式下的命令提示符中执行以下操作:

pip install pipwin
pipwin install pyaudio

pipwin类似于pip,但它安装由Christoph Gohlke提供的预编译Windows二进制文件。这样可以节省大量谷歌搜索和手动下载的时间。


2
除了“pipwin”不被识别为内部或外部命令,返回翻译后的文本。 - Eight Rice
1
raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP错误 404:未找到 - Y4RD13
1
如果pipwin未被添加为命令,您可以使用以下命令: python -m pipwin install pyaudio - Super Class

12

根据 pyaudio的官方文档:

Microsoft Windows

使用pip进行安装:

python -m pip install pyaudio

注意: pip会获取并安装PyAudio wheels(预包装的二进制文件). 目前, 有适用于Python 2.7、3.4, 3.5和3.6官方版本的wheels. 对于这些版本,32位和64位的wheels都可用.

如果您尝试为3.7安装pyaudio,则需要通过编译进行安装。请从Gohlke - Python扩展库的非官方Windows二进制文件下载并安装wheel。适用于32位和64位python 3.7的wheels可用。


所以你按照我的建议安装了它,使用了Gohlke的whl文件? - buran
那么,是否建议在大多数pip安装中使用pipwin呢? - kelemeno

5
使用此链接下载支持相应python版本的.whl文件:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio 然后,进入以下目录并在命令提示符上运行此命令:
C:\Users\shris\AppData\Local\Programs\Python\Python37-32\Scripts> pip install PyAudio-0.2.11-cp37-cp37m-win32.whl

3

以管理员身份运行CMD,然后运行以下两个命令:

  1. pip install pipwin

  2. pipwin install pyaudio


2
我遇到了同样的问题,我通过使用可以从以下链接下载的WHL文件解决了它:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
有几个版本可供您下载和使用。
例如,PyAudio-0.2.11-cp37-cp37m-win_amd64.whl。
对于命令提示符上的安装,请输入:
pip install "path"\PyAudio-0.2.11-cp37-cp37m-win_amd64.whl

0

看起来你需要先安装portaudio。


0

这是我的电脑配置:

  • Windows 10
  • Python 3.8.0已安装在C:\Program Files (x86)\Python\Python38-32

我曾经遇到过同样的问题,我用以下步骤解决了它:

  1. 这里下载PyAudio‑0.2.11‑cp38‑cp38‑win32.whl 并保存于C:\Downloads\PyAudio-0.2.11-cp38-cp38-win32.whl

  2. 运行C:\Program Files (x86)\Python\Python38-32\Scripts>pip3.8 install C:\Downloads\PyAudio-0.2.11-cp38-cp38-win32.whl --user


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