Python 如何解决spyder中pyttsx3模块的问题?

Python 如何解决spyder中pyttsx3模块的问题?,python,anaconda,spyder,Python,Anaconda,Spyder,我已经在spyder中安装了pyttsx3软件包。 当我想运行简单代码时: import pyttsx3 as ptx speaker = ptx.init() speaker.say('Hello World') speaker.runAndWait() 我得到了以下错误: File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\__init__.py", line 20, in init eng

我已经在spyder中安装了pyttsx3软件包。 当我想运行简单代码时:

import pyttsx3 as ptx
speaker = ptx.init()
speaker.say('Hello World')
speaker.runAndWait()
我得到了以下错误:

    File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\__init__.py", line 20, in init
    eng = _activeEngines[driverName]

  File "C:\ProgramData\Anaconda3\lib\weakref.py", line 137, in __getitem__
    o = self.data[key]()

KeyError: None


During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "C:\ProgramData\Anaconda3\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' (C:\ProgramData\Anaconda3\lib\site-packages\comtypes\gen\__init__.py)


During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 121, in WINFUNCTYPE
    return _win_functype_cache[(restype, argtypes, flags)]

KeyError: (<class 'ctypes.HRESULT'>, (<class 'comtypes.automation.tagVARIANT'>, <class 'comtypes.LP_POINTER(ISpeechRecoGrammar)'>), 0)


During handling of the above exception, another exception occurred:

Traceback (most recent call last):

  File "C:\Users\ijeet\.spyder-py3\temp.py", line 2, in <module>
    speaker = ptx.init()

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\__init__.py", line 22, in init
    eng = Engine(driverName, debug)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\engine.py", line 30, in __init__
    self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\driver.py", line 50, in __init__
    self._module = importlib.import_module(name)

  File "C:\ProgramData\Anaconda3\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import

  File "<frozen importlib._bootstrap>", line 983, in _find_and_load

  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 728, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "C:\ProgramData\Anaconda3\lib\site-packages\pyttsx3\drivers\sapi5.py", line 6, in <module>
    engine = comtypes.client.CreateObject("SAPI.SpVoice")

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\__init__.py", line 250, in CreateObject
    return _manage(obj, clsid, interface=interface)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\__init__.py", line 188, in _manage
    obj = GetBestInterface(obj)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\__init__.py", line 110, in GetBestInterface
    mod = GetModule(tlib)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\_generate.py", line 110, in GetModule
    mod = _CreateWrapper(tlib, pathname)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\_generate.py", line 184, in _CreateWrapper
    mod = _my_import(fullname)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\client\_generate.py", line 24, in _my_import
    return __import__(fullname, globals(), locals(), ['DUMMY'])

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\gen\_C866CA3A_32F7_11D2_9602_00C04F8EE628_0_5_4.py", line 2170, in <module>
    ( ['in'], BSTR, 'AdaptationString' )),

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\__init__.py", line 329, in __setattr__
    self._make_methods(value)

  File "C:\ProgramData\Anaconda3\lib\site-packages\comtypes\__init__.py", line 698, in _make_methods
    prototype = WINFUNCTYPE(restype, *argtypes)

  File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 123, in WINFUNCTYPE
    class WinFunctionType(_CFuncPtr):



TypeError: item 1 in _argtypes_ passes a union by value, which is unsupported.
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\\ uuuu init\uuuuu.py”,第20行,在init中
eng=\u活动引擎[driverName]
文件“C:\ProgramData\Anaconda3\lib\weakref.py”,第137行,在\uuu getitem中__
o=自身数据[键]()
KeyError:无
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\drivers\sapi5.py”,第3行,在
从comtypes.gen导入SpeechLib#comtypes
ImportError:无法从“comtypes.gen”(C:\ProgramData\Anaconda3\lib\site packages\comtypes\gen\\uuu init\uuuu.py)导入名称“SpeechLib”)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
WINFUNCTYPE中第121行的文件“C:\ProgramData\Anaconda3\lib\ctypes\\uuuuu init\uuuuuu.py”
return\u win\u functype\u cache[(restype,argtypes,flags)]
KeyError:(,(,),0)
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\ijeet\.spyder-py3\temp.py”,第2行,在
speaker=ptx.init()
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\\uuuu init\uuuuu.py”,第22行,在init中
eng=引擎(驱动器名称,调试)
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\engine.py”,第30行,在\uuu init中__
self.proxy=driver.DriverProxy(weakref.proxy(self)、driverName、debug)
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\driver.py”,第50行,在\uuu init中__
self.\u模块=导入lib.import\u模块(名称)
文件“C:\ProgramData\Anaconda3\lib\importlib\\uuuuu init\uuuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第967行,在“查找”和“加载”中解锁
文件“”,第677行,在\u加载\u解锁
exec_模块中第728行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“C:\ProgramData\Anaconda3\lib\site packages\pyttsx3\drivers\sapi5.py”,第6行,在
engine=comtypes.client.CreateObject(“SAPI.SpVoice”)
CreateObject中的文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\uuuuu init\uuuuu.py”,第250行
返回管理(obj,clsid,接口=接口)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\uuuu init\uuuu.py”,第188行,在\u manage中
obj=GetBestInterface(obj)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\uuuu init\uuuuuu.py”,第110行,在GetBestInterface中
mod=GetModule(tlib)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\u generate.py”,第110行,在GetModule中
mod=\u CreateWrapper(tlib,路径名)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\u generate.py”,第184行,在CreateWrapper中
mod=\u我的\u导入(全名)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\client\\u generate.py”,第24行,在“我的导入”中
return uuu import uuuuu(全名,globals(),locals(),['DUMMY']))
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\gen\\u C866CA3A\u 32F7\u 11D2\u 9602\u 00C04F8EE628\u 0\u 5\u 4.py”,第2170行,in
(['in'],BSTR,'adaptionstring'),
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\\uuuuu init\uuuuu.py”,第329行,位于\uuuu setattr中__
自我制作方法(值)
文件“C:\ProgramData\Anaconda3\lib\site packages\comtypes\\uuuuu init\uuuuuu.py”,第698行,在\u make\u方法中
prototype=WINFUNCTYPE(重新类型,*argtypes)
WINFUNCTYPE中第123行的文件“C:\ProgramData\Anaconda3\lib\ctypes\\uuuuu init\uuuuuu.py”
类WinFunctionType(\u CFuncPtr):
TypeError:_argtypes_中的项1通过值传递union,这是不受支持的。
如何解决这个问题? 我是spyder和python的初学者

每当我在jupyter笔记本中运行此脚本时,它都会成功运行。
我以前直接从cmd安装过pip包。安装spyder后,我必须在其中安装相同的软件包。虽然其他简单的python代码运行成功,但这段代码没有成功。

我可以在Spyder中运行您的代码片段,没有任何问题-因此这可能与您如何安装
pyttsx3
有关。由于您似乎是从Anaconda运行Spyder,您可能也应该使用它来安装模块。有一点我不确定。代码和包是否应位于同一文件夹中?重新安装软件包后,它仍然无法工作。我可以在Spyder中运行您的代码段,而不会出现任何问题-因此这可能与您如何安装
pyttsx3
有关。由于您似乎是从Anaconda运行Spyder,您可能也应该使用它来安装模块。有一点我不确定。代码和包是否应位于同一文件夹中?重新安装软件包后,它仍然无法工作。