如何在AWS EC2上安装pyaudio、sounddevice等不可用的Python依赖包
问题原因
OSError('PortAudio library not found')报错核心是pyaudio、sounddevice两个Python包依赖系统级的PortAudio音频库,没有提前安装该依赖就直接装Python包就会触发报错No package libasound-dev available报错是因为AWS EC2默认搭载的是RHEL/CentOS/Amazon Linux系列发行版,使用yum作为包管理器,libasound-dev是Debian/Ubuntu系列的包名,RHEL系对应的包名是alsa-lib-devel,且你还缺少核心依赖portaudio-devel
解决方案
步骤1:安装系统依赖
如果你的EC2是Amazon Linux 2版本,先执行命令安装EPEL源(默认源不含portaudio-devel包):
sudo amazon-linux-extras install epel -y
如果是Amazon Linux 2023版本,执行:
sudo dnf install -y epel-release
然后统一执行命令安装所有必要系统依赖:
sudo yum update -y sudo yum install -y portaudio-devel alsa-lib-devel gcc python3-devel
步骤2:安装Python包
系统依赖安装完成后,再执行requirements.txt安装即可,不会再触发PortAudio相关报错:
pip install -r requirements.txt
验证安装
执行以下命令验证两个包是否可正常导入:
python3 -c "import pyaudio; import sounddevice; print('依赖安装成功,无导入错误')"
内容的提问来源于stack exchange,提问作者Masaki93
相关产品推荐
相关产品推荐

