In[2]: import pyttsx
In[3]: import speech_recognition
In[4]: speech_engine = pyttsx.init("sapi5")
Traceback (most recent call last):
File "C:\Users\Keshav\Anaconda3\lib\site-packages\pyttsx\__init__.py", line 37, in init
eng = _activeEngines[driverName]
File "C:\Users\Keshav\Anaconda3\lib\weakref.py", line 131, in __getitem__
o = self.data[key]()
KeyError: 'sapi5'
我在Win10 64bit上运行Python 3.5(Anaconda)。不确定它是否是我的操作系统上的驱动程序问题或其他问题。 请让我知道这个问题。
答案 0 :(得分:0)
问题很简单,pyttsx只适用于python 2+ :( #facepalm
答案 1 :(得分:0)
好吧,我有一个解决方案。你只需要在这里使用__init__.py
作弊。
转到C:\Python35\Lib\site-packages\pyttsx
目录。
然后打开以编辑__init__.py
文件。
找到这个部分:
except KeyError:
eng = Engine(driverName, debug)
_activeEngines[driverName] = eng
return eng
像这样删除KeyError
并保存。
except :
eng = Engine(driverName, debug)
_activeEngines[driverName] = eng
return eng