【问题标题】:pyttsx3: OSError 2147221008 CoInitialize has not been calledpyttsx3:OSError 2147221008 CoInitialize 尚未被调用
【发布时间】:2020-08-23 20:35:08
【问题描述】:

我有一个 Flask 应用程序,它获取一个图像文件,使用 Tesseract OCR 提取文本,然后使用 pyttsx3 将该文本转换为 mp3。它将 .txt 和 mp3 文件保存在同一目录中。

第一次很好用。

但是,再次运行它而不重新启动应用程序,pyttsx3 操作失败:

OSError: [WinError -2147221008] CoInitialize has not been called

Traceback (most recent call last)

File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python38\Lib\site-packages\pyttsx3\__init__.py", line 20, in init

eng = _activeEngines[driverName]

File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python38\Lib\weakref.py", line 131, in __getitem__

o = self.data[key]()

注释掉对 pyttsx3 的调用可以解决该错误 - 现在可以一个接一个地上传多个图像而不会崩溃,因此肯定是 pyttsx3 导致了故障。

似乎循环仍在运行,因此它无法处理下一个图像,因为它仍在忙于第一个图像。

到目前为止尝试过:

  • 使用 pyttsx3 版本 2.71 - 应用因不同的初始化错误而失败
  • 使用 32 位 python 解释器 - 没有区别
  • 文本使用会话而不是全局变量 - 没有区别

Windows 10 专业版 v1903

尝试过的浏览器:Edge、Chrome、Opera Python 3.8.4 64位版本

pyttsx3 v 2.90

IDE = VS 代码

帮助赞赏

【问题讨论】:

    标签: python tesseract python-tesseract pyttsx


    【解决方案1】:

    原来这是一个特定于机器的错误。仍然不知道是什么原因造成的,但在另一台 Windows 10 机器和 Linux 机器上,应用程序运行良好,没有错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      相关资源
      最近更新 更多