Python pyttsx3在启动时抛出错误

Python pyttsx3在启动时抛出错误,python,python-3.x,text-to-speech,pyttsx,Python,Python 3.x,Text To Speech,Pyttsx,Python 3.6 有一个代码: 导入pyttsx3 engine=pyttsx3.init() 引擎。说:“你好,世界!” engine.runAndWait() 启动时,它会给出一个错误: Traceback (most recent call last): File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\__init__.py", line 20, in init

Python 3.6

有一个代码:

导入pyttsx3
engine=pyttsx3.init()
引擎。说:“你好,世界!”
engine.runAndWait()
启动时,它会给出一个错误:

Traceback (most recent call last):
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\__init__.py", line 20, in init
    eng = _activeEngines[driverName]
  File "C:\Users\andre\AppData\Local\Programs\Python\Python36\lib\weakref.py", line 131, in __getitem__
    o = self.data[key]()
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/andre/PycharmProjects/Ilona/main.py", line 2, in <module>
    engine = pyttsx3.init()
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\__init__.py", line 22, in init
    eng = Engine(driverName, debug)
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\engine.py", line 30, in __init__
    self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\driver.py", line 52, in __init__
    self._driver = self._module.buildDriver(weakref.proxy(self))
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\drivers\sapi5.py", line 30, in buildDriver
    return SAPI5Driver(proxy)
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\drivers\sapi5.py", line 47, in __init__
    self.setProperty('voice', self.getProperty('voice'))
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\drivers\sapi5.py", line 100, in setProperty
    token = self._tokenFromId(value)
  File "C:\Users\andre\PycharmProjects\Ilona\venv\lib\site-packages\pyttsx3\drivers\sapi5.py", line 80, in _tokenFromId
    tokens = self._tts.GetVoices()
_ctypes.COMError: (-2147200967, None, (None, None, None, 0, None))
回溯(最近一次呼叫最后一次):
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\\uuuu init\uuu.py”,第20行,在init中
eng=\u活动引擎[driverName]
文件“C:\Users\andre\AppData\Local\Programs\Python\Python36\lib\weakref.py”,第131行,在\uu getitem中__
o=自身数据[键]()
KeyError:无
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:/Users/andre/PycharmProjects/Ilona/main.py”,第2行,在
engine=pyttsx3.init()
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\\uuuu init\uuu.py”,第22行,在init中
eng=引擎(驱动器名称,调试)
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\engine.py”,第30行,在\uu init中__
self.proxy=driver.DriverProxy(weakref.proxy(self)、driverName、debug)
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\driver.py”,第52行,在uu init中__
self.\u driver=self.\u module.buildDriver(weakref.proxy(self))
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\drivers\sapi5.py”,第30行,在buildDriver中
返回SAPI5驱动程序(代理)
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\drivers\sapi5.py”,第47行,在__
self.setProperty('voice',self.getProperty('voice'))
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\drivers\sapi5.py”,第100行,在setProperty中
token=self.\u tokenFromId(值)
文件“C:\Users\andre\PycharmProjects\Ilona\venv\lib\site packages\pyttsx3\drivers\sapi5.py”,第80行,在\u tokenFromId中
tokens=self.\u tts.GetVoices()
_ctypes.COMError:(-2147200967,无,(无,无,无,0,无))
已安装Pywin32、pypiwin32和pyttsx3模块

使用PyCharm


怎么办?

打开命令提示符/终端并键入:

  • pip卸载pyttsx3
  • pip安装pyttsx3==2.71

  • 如果不起作用,将
    engine=pyttsx3.init()
    替换为
    engine=pyttsx3.init('dummy')
    打开命令提示符/终端并键入:

  • pip卸载pyttsx3
  • pip安装pyttsx3==2.71
  • 如果不起作用,则将
    engine=pyttsx3.init()
    替换为
    engine=pyttsx3.init('dummy')

  • pip卸载pyttsx3
  • pip安装-u pipenv
  • pipenv安装pyttsx3
    希望这能奏效
  • pip卸载pyttsx3
  • pip安装-u pipenv
  • pipenv安装pyttsx3
    希望这能奏效

  • 我将
    engine=pyttsx3.init()
    替换为
    engine=pyttsx3.init('dummy')
    ,没有错误,但是程序没有说什么。我将
    engine=pyttsx3.init()
    替换为
    engine=pyttsx3.init('dummy')
    ,没有错误,但是程序没有说什么