即使安装了pyiwin32

时间:2020-04-02 05:04:15

标签: python python-3.x pyttsx

我正在制作自己的助手,例如siri或google助手,但一开始我就陷入了困境。我安装了pyiwin32,但仍收到关键错误“ sapi5”,请帮助我,我在堆栈溢出中回顾了此类问题,他们说要安装pyiwin32,但仍然无法正常工作

import pyttsx3
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
print(voices[1].id)

**它显示错误,例如我混淆了该怎么办,我到处搜索但没有得到完美的答案**

Traceback (most recent call last):
File "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\__init__.py", line 20, in init
eng = _activeEngines[driverName]
File "D:\Sofware_installation\Python\lib\weakref.py", line 131, in __getitem__
o = self.data[key]()
KeyError: 'sapi5'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\drivers\sapi5.py", line 3, in <module>
from comtypes.gen import SpeechLib  # comtypes
ImportError: cannot import name 'SpeechLib' from 'comtypes.gen' 
(D:\Sofware_installation\Python\lib\site-packages\comtypes\gen\__init__.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Sofware_installation\Python\lib\ctypes\__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 "D:/Sofware_installation/Python/Cyborg.py", line 2, in <module>
engine = pyttsx3.init('sapi5')
File "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\__init__.py", line 22, in init
eng = Engine(driverName, debug)
File "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\engine.py", line 30, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\driver.py", line 50, in __init__
self._module = importlib.import_module(name)
File "D:\Sofware_installation\Python\lib\importlib\__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 "D:\Sofware_installation\Python\lib\site-packages\pyttsx3\drivers\sapi5.py", line 6, in <module>
engine = comtypes.client.CreateObject("SAPI.SpVoice")
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\__init__.py", line 250, in 
CreateObject
return _manage(obj, clsid, interface=interface)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\__init__.py", line 188, in 
_manage
obj = GetBestInterface(obj)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\__init__.py", line 110, in 
GetBestInterface
mod = GetModule(tlib)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\_generate.py", line 110, in 
GetModule
mod = _CreateWrapper(tlib, pathname)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\_generate.py", line 184, in 
_CreateWrapper
mod = _my_import(fullname)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\client\_generate.py", line 24, in 
_my_import
return __import__(fullname, globals(), locals(), ['DUMMY'])
File "D:\Sofware_installation\Python\lib\site- 
packages\comtypes\gen\_C866CA3A_32F7_11D2_9602_00C04F8EE628_0_5_4.py", line 182, in <module>
ISpeechBaseStream._methods_ = [
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\__init__.py", line 329, in 
__setattr__
self._make_methods(value)
File "D:\Sofware_installation\Python\lib\site-packages\comtypes\__init__.py", line 698, in 
_make_methods
prototype = WINFUNCTYPE(restype, *argtypes)
File "D:\Sofware_installation\Python\lib\ctypes\__init__.py", line 125, in WINFUNCTYPE
class WinFunctionType(_CFuncPtr):
TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported.

1 个答案:

答案 0 :(得分:0)

您需要在pyttsx3模块上更改版本。为此,请在终端中运行以下命令:

> pip uninstall pyttsx3
> pip install pyttsx3==2.6