python3.8现在有很多坑存在,很多module要么没有对应版本的安装包,要么安装会遇到多问题。这次使用pyttsx3的时候,安装没问题,但是代码运行就一直报错。
Traceback (most recent call last):
File "Python38\lib\site-packages\pyttsx3\__init__.py", line 44, in init
eng = _activeEngines[driverName]
File "Python38\lib\weakref.py", line 137, in __getitem__
o = self.data[key]()
KeyError: None
1
2
3
4
5
6
经过排查,确认电脑的语音识别是没问题的,多次重装安装也是没法解决,然后找其他解决方法,最终找到原因是版本匹配上有问题。
解决方法:指定pyttsx3的版本为2.71(如果指定为2.80是有问题的,安装失败)
pip install pyttsx3==2.71
1
当然,如果不是非要用pyttsx3或者最终没解决的,可以用pythoncom
import pythoncom
from win32com import client
pythoncom.CoInitialize()
engine=client.Dispatch("SAPI.SpVoice")
engine.Speak('hello,