【问题标题】:Python - NameError: name 'engine' is not defined / Driver not foundPython - NameError:名称“引擎”未定义/未找到驱动程序
【发布时间】:2019-08-25 15:45:20
【问题描述】:

我一直在尝试使用此视频在 PyCharm 中进行 AI 项目:https://www.youtube.com/watch?time_continue=179&v=rU_ppVsyJu8

代码如下:

import sys
print(sys.path)

import speech_recognition as sr
import pyttsx3

try:
    engine = pyttsx3.init()
except ImportError:
    print("Driver not found")
except RuntimeError:
    print("Driver fails to init")

voices = engine.getProperty("voices")

for voice in voices:
    print(voice.id)

还有一个错误:

即使它说找不到驱动程序,我还是在这里安装了 pyttsx3:

我已经解决这个问题一个星期了,我无法继续前进。如果有人提供帮助,我们将不胜感激。

【问题讨论】:

  • 你激活 virtualenv 了吗?
  • 实际的错误信息是什么?尝试在 Python 提示符下运行 import pyttsx3,然后运行 ​​engine = pyttsx3.init() - 您可能缺少 pyttsx3 依赖的另一个模块。看起来你的程序中的import pyttsx3 行有效。
  • @subnivean 我试过了,这是错误:pastebin.com/hjm1MFLy
  • @C.Nivs 我该怎么做,抱歉这是我第一次使用 PyCharm
  • 根据完整的错误信息,您可以阅读github.com/nateshmbhat/pyttsx3/issues/28;简而言之就是尝试pip install pyobjc。我在 Linux 上,而不是 Mac,所以我无法测试。

标签: python python-3.x pycharm pyttsx


【解决方案1】:

您无法执行engine = pyttsx3.init()。这就是它无法识别引擎对象的原因。试试下面的代码。您将从异常中收到错误消息。尝试解决该错误。

import sys
print(sys.path)

import speech_recognition as sr
import pyttsx3

try:
    engine = pyttsx3.init()
**except Exception as e:
    print(e)**
except ImportError:
    print("Driver not found")
except RuntimeError:
    print("Driver fails to init")

voices = engine.getProperty("voices")

for voice in voices:
    print(voice.id)

【讨论】:

    【解决方案2】:

    这很容易修复。我还使用 Pycharm 和其他代码编辑器。 只需打开您的项目,如果您的代码仍然相同,请执行以下操作:

    将此行:engine = pyttsx3.init() 放在import pyttsx3 之后,或者删除您的完整代码并复制/粘贴此代码:

    import sys
    print(sys.path)
    
    import speech_recognition as sr
    import pyttsx3
    engine = pyttsx3.init()
    
    try:
        engine = pyttsx3.init()
    except Exception as e:
        print(e)
    except ImportError:
        print("Driver not found")
    except RuntimeError:
        print("Driver fails to init")
    
    voices = engine.getProperty("voices")
    
    for voice in voices:
        print(voice.id)
    

    我总是遇到这类错误。好的,现在解决了这个问题。我将修复错误:

    NameError:名称“音频”未定义

    希望这行得通。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2021-10-18
      • 2016-08-09
      • 2016-01-08
      相关资源
      最近更新 更多