Я получаю ошибку «член не найден» с pyttsx3 в Python - PullRequest
0 голосов
/ 24 января 2019

Я использую Visual Studio 2017 и создаю приложение Python. Я получаю ошибку «член не найден» с pyttsx3 в python. Метод вызывается успешно первые несколько раз, затем вызывается ошибка, и я не могу вызвать метод дальше. Может кто-нибудь помочь, пожалуйста?

Я попытался обновить модуль pyttsx3 в среде Python 3.6 (64-разрядная версия) и Python 3.7 (32-разрядная версия).

Я также попытался ответить на вопрос в вопросе " модуль win32com не найден ". Я все еще получаю ошибку

def Say(text):
    try:
        speechEngine = pyttsx3.init()
        speechEngine.setProperty('rate', 150)
        print("{0} | Lola: {1}".format(TimeOfDay(), text))
        speechEngine.say(text)
        speechEngine.runAndWait()
        logging.info("Spoken words ({0})".format(text))
    except Exception as e:
        logging.error("Exception occurred", exc_info=True)
        print("{0} | Lola: {1}".format(TimeOfDay(),"I have come across an error in my code. See the log for details"))

Ожидаемый результат заключается в том, что он должен произносить выводимый текст. Однако я получаю следующую ошибку:

Я получаю следующую ошибку:

Exception occurred
 Traceback (most recent call last):

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\__init__.py", line 44, in init
     eng = _activeEngines[driverName]

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\weakref.py", line 137, in __getitem__
     o = self.data[key]()

  KeyError: None

Во время обработки вышеуказанного исключения произошло другое исключение:

 Traceback (most recent call last):

   File "C:\Users\IllyS\OneDrive\Programming\My Programs\GitHub\Lola-Mark-II\Lola\Lola.py", line 23, in Say  
     speechEngine = pyttsx3.init()  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\__init__.py", line 46, in init  
     eng = Engine(driverName, debug)  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\engine.py", line 52, in __init__  
     self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\driver.py", line 77, in __init__
     self._driver = self._module.buildDriver(weakref.proxy(self))  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\drivers\sapi5.py", line 22, in buildDriver  
     return SAPI5Driver(proxy)  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\drivers\sapi5.py", line 41, in __init__  
     self.setProperty('voice', self.getProperty('voice'))  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\pyttsx3\drivers\sapi5.py", line 72, in getProperty  
     return self._tts.Voice.Id  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\win32com\client\__init__.py", line 474, in __getattr__  
     return self._ApplyTypes_(*args)  

   File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\site-packages\win32com\client\__init__.py", line 467, in _ApplyTypes_  
     self._oleobj_.InvokeTypes(dispid, 0, wFlags, retType, argTypes, *args),
     pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, 'Member not found.', None, 0, -2147201001), None)  

1 Ответ

0 голосов
/ 30 января 2019

Я исправил ошибку. Это было потому, что я вызывал speechEngine = pyttsx3.init() и speechEngine.setProperty('rate', 150) в методе снова и снова (как у меня был цикл , в то время как вызывал этот метод). Я перенес их на улицу, и это сработало. В настоящее время не вижу ошибки через какое-то время. Посмотрим как пойдет .....

...