运行pyttsx代码时出现ModuleNotFoundError: No module named 'engine'错误求解
问题原因及解决方法
错误原因
pyttsx是针对Python2的老旧库,已停止维护,在Python3环境中安装后会出现模块缺失(找不到engine)的兼容性问题,这是报错的核心原因。
解决步骤
卸载旧库
先移除不兼容的pyttsx:pip uninstall pyttsx -y安装兼容替代库
使用pyttsx3——这是pyttsx的Python3分支,持续维护且兼容性良好:pip install pyttsx3修改代码适配新库
调整导入语句,同时补充播放声音必需的runAndWait()方法(原代码缺少这一步,即使不报错也听不到声音):import pyttsx3 engine = pyttsx3.init() engine.say('hello world') engine.runAndWait() # 执行后才会播放语音系统额外依赖(可选)
- Linux系统(Debian/Ubuntu系)需要安装语音引擎:
sudo apt-get install espeak -y - macOS和Windows一般无需额外安装,库会自动调用系统内置语音引擎。
- Linux系统(Debian/Ubuntu系)需要安装语音引擎:
内容的提问来源于stack exchange,提问作者Robbe Vermandel
相关产品推荐
相关产品推荐

