Windows 64位下pip安装PyAudio无法构建wheel的报错问题
报错根因
执行pip install pyaudio时pip默认拉取源码包本地编译,你安装的VS Build Tools只提供了C++代码的编译环境,但PyAudio依赖的PortAudio原生开发组件(包含报错缺失的portaudio.h头文件、链接用的库文件)没有安装,编译_portaudio扩展模块时找不到对应依赖才会安装失败。日志末尾的pip版本检查警告和本次失败无关,无需处理。
可用解决方案
方案1:安装预编译wheel包(最省事,推荐使用)
- 执行
python --version确认本地Python版本,你的环境是Python3.9、64位Windows系统 - 获取和本地Python版本、系统架构匹配的PyAudio预编译wheel安装包:包名中
cp后的数字要和Python主版本对应(比如Python3.9对应cp39),64位系统选择带win_amd64标识的包 - 在wheel包所在目录打开终端,执行
pip install 下载的wheel包完整文件名即可完成安装,全程不会触发源码编译,不会出现头文件缺失报错。
方案2:通过vcpkg安装PortAudio依赖后源码编译
- 如果你本地配置过vcpkg包管理器,直接执行
vcpkg install portaudio:x64-windows安装64位版本的PortAudio原生库 - 确保vcpkg的全局集成已经生效,再重新执行
pip install pyaudio,编译脚本会自动识别到已安装的PortAudio头文件和库文件,完成编译安装。
方案3:手动编译PortAudio后配置环境变量安装
- 自行获取PortAudio源码,在本地用VS编译工具链编译出64位版本的库文件,编译完成后会生成
portaudio.h头文件、对应的静态/动态链接库 - 将头文件所在目录添加到系统
INCLUDE环境变量,库文件所在目录添加到系统LIB环境变量 - 重启终端后重新执行
pip install pyaudio即可完成编译安装。
内容的提问来源于stack exchange,提问作者Anay Shah
相关产品推荐
相关产品推荐

