在Heroku远程环境中初始化pyttsx3失败,该如何解决?
问题根本原因
报错显示缺少libpulsecommon-13.99.so依赖库,属于Pulseaudio音频服务的组件,同时你之前的操作存在配置位置错误:系统依赖包不应该写在Procfile中,只有写在Aptfile里的包才会被apt buildpack识别安装。
解决步骤
- 修正
Aptfile内容,补充缺失的Pulseaudio相关依赖,修改后内容如下:
libespeak1 espeak ffmpeg libpulse0 libpulse-dev pulseaudio
- 删除
requirements.txt中的comtypes==1.1.10行,该包是Windows平台下pyttsx3调用系统SAPI5驱动的专属依赖,Heroku的Linux环境完全不需要,留着反而可能引发兼容问题。 app.py中的初始化代码保留指定驱动的写法即可,明确指定espeak驱动避免自动识别出错:
import pyttsx3 engine = pyttsx3.init('espeak')
- 确认你的buildpack顺序没有改动,必须保持
heroku-community/apt在前、heroku/python在后,确保先安装系统依赖再安装Python依赖包。 - 提交所有修改后重新触发Heroku构建部署即可。
内容的提问来源于stack exchange,提问作者misoshiru
相关产品推荐
相关产品推荐

