python 2.5.4 with pyTTS 3.0 - ValueError:“SAPI”不受支持

时间:2012-09-13 14:07:15

标签: python sapi

我使用MS Speech SDK 5.1在Windows 7上使用python 2.5.4和pyTTS 3.0。这项工作一年多来一直很好。然而,昨天,两件事几乎同时发生。 MS做了其中一个更新,导致我的系统在我不看的时候重启。而且我几乎同时耗尽了磁盘空间。在清理了一些空间后,pyTTS不再有效。我收到“SAPI”不支持的错误消息。在命令提示符下,我执行以下操作:

>python
Python 2.5.4 (r254:67916, Dec 23 2008, 16:10:54) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyTTS
>>> x = pyTTS.Create()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\Python25\Lib\site-packages\pyTTS\__init__.py", line 28, in Create
    raise ValueError('"%s" not supported' % api)
ValueError: "SAPI" not supported

我已重新安装: python 2.5.4, python windows扩展w32com, pyTTS 3.0, Microsoft Speech SDK 5.1, 微软英文TTS-51。 我在每次这些之后都重新启动了。 但它仍然不起作用,我仍然得到相同的错误信息。

非常感谢任何建议!感谢。

2 个答案:

答案 0 :(得分:0)

python pyTTS模块只使用Microsoft SAPI COM对象,如果不再注册,模块将以您看到的方式失败。

重新安装Microsoft Speech SDK 为您解决此问题。

答案 1 :(得分:0)

感谢贡献者的建议。但这是有效的。 pyTTS导入win32com。并且win32com在Pythonxx / Lib / site-packages / win32com / gen_py / dicts.dat下的文件中保留一个缓存。不知何故,该文件dicts.dat已损坏。不知何故,当重新安装win32com时,该文件并未被吹走。可能是因为在安装过程中,python正在后台的某个地方运行。我没有停下来进一步调查。无论如何,当正确删除并重新安装win32com时,pyTTS恢复工作。 -