#python #python-3.x #python-module #pyttsx3
#python #python-3.x #python-модуль #pyttsx3
Вопрос:
Я попытался инициализировать движок для pyttsx3. Всякий раз, когда требуется инициализировать движок, появляется ошибка ниже.
Traceback (most recent call last):
File "C:UsersNatarajanlibsite-packagespyttsx3__init__.py", line 20, in init
eng = _activeEngines[driverName]
File "C:UsersNatarajanlibweakref.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:UsersNatarajanlibsite-packagespyttsx3driverssapi5.py", line 3, in <module>
from comtypes.gen import SpeechLib # comtypes
ImportError: cannot import name 'SpeechLib' from 'comtypes.gen' (C:UsersNatarajanlibsite-packagescomtypesgen__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:UsersNatarajanlibctypes__init__.py", line 123, in WINFUNCTYPE
return _win_functype_cache[(restype, argtypes, flags)]
KeyError: (<class 'ctypes.HRESULT'>, (<class 'comtypes.automation.tagVARIANT'>, <class 'ctypes.wintypes.LP_c_long'>), 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
engine = pyttsx3.init()
File "C:UsersNatarajanlibsite-packagespyttsx3__init__.py", line 22, in init
eng = Engine(driverName, debug)
File "C:UsersNatarajanlibsite-packagespyttsx3engine.py", line 30, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "C:UsersNatarajanlibsite-packagespyttsx3driver.py", line 50, in __init__
self._module = importlib.import_module(name)
File "C:UsersNatarajanlibimportlib__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:UsersNatarajanlibsite-packagespyttsx3driverssapi5.py", line 6, in <module>
engine = comtypes.client.CreateObject("SAPI.SpVoice")
File "C:UsersNatarajanlibsite-packagescomtypesclient__init__.py", line 250, in CreateObject
return _manage(obj, clsid, interface=interface)
File "C:UsersNatarajanlibsite-packagescomtypesclient__init__.py", line 188, in _manage
obj = GetBestInterface(obj)
File "C:UsersNatarajanlibsite-packagescomtypesclient__init__.py", line 110, in GetBestInterface
mod = GetModule(tlib)
File "C:UsersNatarajanlibsite-packagescomtypesclient_generate.py", line 110, in GetModule
mod = _CreateWrapper(tlib, pathname)
File "C:UsersNatarajanlibsite-packagescomtypesclient_generate.py", line 184, in _CreateWrapper
mod = _my_import(fullname)
File "C:UsersNatarajanlibsite-packagescomtypesclient_generate.py", line 24, in _my_import
return __import__(fullname, globals(), locals(), ['DUMMY'])
File "C:UsersNatarajanlibsite-packagescomtypesgen_C866CA3A_32F7_11D2_9602_00C04F8EE628_0_5_4.py", line 370, in <module>
ISpeechBaseStream._methods_ = [
File "C:UsersNatarajanlibsite-packagescomtypes__init__.py", line 329, in __setattr__
self._make_methods(value)
File "C:UsersNatarajanlibsite-packagescomtypes__init__.py", line 698, in _make_methods
prototype = WINFUNCTYPE(restype, *argtypes)
File "C:UsersNatarajanlibctypes__init__.py", line 125, in WINFUNCTYPE
class WinFunctionType(_CFuncPtr):
TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported.
>>>
И вот код, который я пробовал:
import pyttsx3
engine = pyttsx3.init()
Я использовал python версии 3.8.1, и пакет имеет последнюю версию, когда я пишу. Пожалуйста, помогите мне в этом вопросе!
Я даже искал его в Google, но это было бесполезно. Я даже не знаю, как кратко описать проблему в Google. Кажется, есть какая-то проблема со встроенными модулями. Но не знаю, что делать. Любой, кто просматривает сообщение, пожалуйста, помогите мне быстро, потому что мне нужно представить его моему учителю.
Ответ №1:
Попробуйте использовать этот код pip uninstall pyttsx3
pip install pyttsx3==2.71
, он сработал для меня. Последнее обновление для вас не поддерживается. извините, если я не прав.
Ответ №2:
Запустите pip install pyttsx3
, чтобы увидеть его зависимости; например, pywin32, comtypes, pypiwin32. Удалите pyttsx3 с его зависимостями ( pip uninstall pyttsx3
, pip uninstall pywin32
, pip uninstall comtypes
, pip uninstall pypiwin32
) и, наконец, запустите pip install pyttsx3
снова. Аве Мария.