pyttsx3运行错误

接上文Python实现语音朗读,运行示例代码时

import pyttsx3
engine = pyttsx3.init()
engine.say('开车不规范,亲人两行泪,I love China')
engine.runAndWait()

弹出以下错误:
在这里插入图片描述

经过检查,pywin32等库都已经安装好了。尝试使用win32com库替代pyttsx3,结果仍然报错,报错内容为win32 api。之后又尝试了几种办法,仍然都是跟win32有关的报错。

因为之前pip安装总是SSL报错,刚开始以为是SSL报错导致安装出错。但是修复SSL报错问题后(见Python pip安装SSL证书错误),该问题仍然没解决。

最后经过了解,可能是pywin32版本过高所导致。一般需要将pywin32版本控制在305以下,可以使用225或者226这样的低版本。于是使用pip下载对应版本

pip install pypiwin32
pip install pywin32 == 225

然而,下载时发现已经没有225版本可以下载。因此另寻办法。最终,发现是pywin32安装的版本有问题,导致包虽然有了,但是却无法识别,导致出现No module named 'win32gui'的报错。

使用pip直接安装不行,就需要自己手动安装。在https://www.lfd.uci.edu/~gohlke/pythonlibs/中找到合适的pywin32版本
在这里插入图片描述

下载后使用pip安装whl文件:

pip install pywin32-304.0-cp311-cp311-win_amd64.whl

安装成功后显示
在这里插入图片描述
接下来,测试仅需要win32的代码

import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("hello")

成功运行!证明pywin32的问题已经解决。然而,继续运行

import pyttsx3
engine = pyttsx3.init()
engine.say('开车不规范,亲人两行泪,I love China')
engine.runAndWait()

仍然报错,不过报错的内容变了
在这里插入图片描述

最后把C:\Python\Lib\site-packages\pywin32_system32中的文件pywintypes36.dll拷贝到目录C:\Python\Lib\site-packages\win32\lib下,成功运行pyttsx3的代码!
在这里插入图片描述

原文地址:pyttsx3运行错误
更多各领域的原创文章:弦圈- 找到属于你的圈子,让知识无荒原
百科全书弦圈百科
个人生活、经验分享弦圈社区

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值