1

Python 3.6

There is a code:

import pyttsx3
engine = pyttsx3.init()
engine.say("Hello World!")
engine.runAndWait()

At startup, it gives an error:

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))

Pywin32, pypiwin32 and pyttsx3 modules installed.

Using PyCharm.

What to do?

2 Answers2

0

Open Command Prompt / Terminal and type:

  1. pip uninstall pyttsx3
  2. pip install pyttsx3==2.71

If that does not work replace engine=pyttsx3.init() with engine=pyttsx3.init('dummy')

abhigyanj
  • 2,355
  • 2
  • 9
  • 29
  • 1
    I replaced ```engine = pyttsx3.init ()``` with ```engine = pyttsx3.init ('dummy')```, there is no error but the program says nothing – Andrey Vecher Oct 27 '20 at 08:31
0
  1. pip uninstall pyttsx3
  2. pip install -u pipenv
  3. pipenv install pyttsx3 Hope this works
RushR
  • 70
  • 4