如何为最新版本的 Python 正确安装 PyAudio?

问题描述

我在最新版本的 Python (3.9) 中使用了 speech_recognition。出于某种原因,pip 没有(仍然不允许)允许我安装 pyaudio

错误信息示例:

_portaudiomodule.c
    c:\program files\python39\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 code 2
    ----------------------------------------

寻找 portaudio.h 的作用对我来说毫无意义。 这是解决方案。希望你不要像我一样浪费时间。

解决方法

原因是 pipPyPi 获取包。并且 PyPi 没有支持 Python 3.9 的 PyAudio 包。这就是为什么尝试使用 pyaudio 安装 pip install pyaudio 是没有用的。 相反,您应该做的是转到 Unofficial Windows Binaries for Python Extension Packages 页面并下载 pip 轮:

Unofficial Windows Binaries for Python Extension Packages

最后一步是运行

pip install [insert pyaudio wheel directory]\pyAudio-0.2.11-cp39-cp39-win_amd64.whl

你应该没问题。

顺便说一句,此技巧适用于您希望使用最新 python 版本运行的其他软件包。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...