You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python开发Jarvis AI时遭遇pywintypes.com_error问题求助

解决pyttsx3运行时的pywintypes.com_error错误

问题场景

使用Python开发Jarvis AI语音模块时,调用pyttsx3获取语音列表时触发pywintypes.com_error错误。

错误回溯信息

Traceback (most recent call last):
  File "d:\BiggestProject\MyAi\speak.py", line 4, in <module>
    voices = engine.getProperty('voices')
  File "C:\Users\Win7\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\engine.py", line 154, in getProperty
    return self.proxy.getProperty(name)
  File "C:\Users\Win7\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\driver.py", line 185, in getProperty
    return self._driver.getProperty(name)
  File "C:\Users\Win7\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\drivers\sapi5.py", line 70, in getProperty
    return [self._toVoice(attr) for attr in self._tts.GetVoices()]
  File "C:\Users\Win7\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\drivers\sapi5.py", line 70, in <listcomp>
    return [self._toVoice(attr) for attr in self._tts.GetVoices()]
  File "C:\Users\Win7\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyttsx3\drivers\sapi5.py", line 60, in _toVoice
    return Voice(attr.Id, attr.GetDescription())
  File "C:\Users\Win7\AppData\Local\Temp\gen_py\3.8\C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4.py", line 1750, in GetDescription
    return self._oleobj_.InvokeTypes(4, LCID, 1, (8, 0), ((3, 49),),Locale
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147200966), None)

涉事代码

import pyttsx3

engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voices',voices[0].id)

def speak(audio):
    engine.say(audio)
    engine.runAndWait()

解决方案

  • 修复或重新安装系统语音包:错误码-2147200966通常对应SAPI5语音引擎的语音数据损坏。打开Windows控制面板的「语音识别」→「文本到语音转换」,检查已安装的语音是否正常,若异常则删除后重新下载安装对应语音包。
  • 以管理员权限运行Python脚本:右键点击Python解释器或脚本文件,选择「以管理员身份运行」,避免权限不足导致无法访问SAPI5组件。
  • 清理pywin32生成的缓存文件:删除路径C:\Users\Win7\AppData\Local\Temp\gen_py下的所有文件,然后重新运行脚本,让pywin32重新生成正确的COM接口文件。
  • 调整pyttsx3初始化方式:尝试不指定sapi5驱动,直接使用pyttsx3.init()让系统自动选择合适的驱动,部分场景下可绕过SAPI5的兼容性问题。
  • 更新或降级pyttsx3版本:当前使用的pyttsx3版本可能与Python3.8或Windows7存在兼容性问题,执行pip install --upgrade pyttsx3更新到最新版,或尝试降级到2.71等稳定版本。

内容的提问来源于stack exchange,提问作者Shaikh Sameer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:57:19