Pyttsx: AttributeError: объект «модуль» не имеет атрибута «инициализация»

Привет всем и заранее спасибо

import pyttsx
engine = pyttsx.init()
engine.say('Hello World')
engine.runAndWait()

И я получаю эту ошибку:

Traceback (most recent call last):
  File "C:\Users\xxx\eclipse\workspace\Ai_Project\AI\Ai_Brain.py", line 8, in <module>
    engine = pyttsx.init()
AttributeError: 'module' object has no attribute 'init'

Я на Windows 7, использую Python 2.7 и eclipse neon. Это какая-то проблема совместимости? Я искал много связанных вопросов, но применение ответов к моему делу не помогло исправить ошибку.


person Jim Noulis    schedule 11.05.2017    source источник
comment
У вас есть pyttsx.py в вашем рабочем каталоге?   -  person gushitong    schedule 11.05.2017
comment
Под этим ты имеешь в виду папку моего рабочего пространства? Нет, у меня есть 2 файла init.py и AI_Brain.py. Если вы имеете в виду, установил ли я pyttsx в свою установку python, это да.   -  person Jim Noulis    schedule 11.05.2017


Ответы (2)


После импорта модуля pyttsx:

import pyttsx

используйте команду

dir(pyttsx)

Ваш вывод будет чем-то вроде

['Engine',
 '__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 '_activeEngines',
 'driver',
 'drivers',
 'engine',
 'init',
 'weakref']

(см. 'init' в конце).

Я предполагаю, что ваш вывод будет другим — он покажет, какой модуль вы на самом деле импортировали, независимо от его имени pyttsx.

person MarianD    schedule 11.05.2017
comment
Где я должен использовать команду? В коде затмения? Если да, это ничего мне не показало (просто пусто). - person Jim Noulis; 11.05.2017
comment
Есть 2 возможности, я имел в виду первую: 1) В консоли PyDev - вероятно, в правой нижней части вашей Eclipse IDE с вкладкой Console. Из последнего значка (с всплывающей подсказкой «Открыть консоль») выберите «Консоль PyDev»). 2) В редакторе Eclipse, как и вы, но тогда вы должны использовать команду print: print dir(pyttsx) - person MarianD; 12.05.2017

Думаю, это довольно просто, и я публикую ответ на случай, если у кого-то в будущем возникнет такая же проблема, и каждый сделанный им запрос не сработает. Считайте это человеческой ошибкой и проверьте свои проблемы с совместимостью. В моем случае проблема заключалась в том, что вместо pywin32-py2.7.exe я установил pywin32-219.win-amd64-py2.7.

Спасибо всем, кто прочитал или ответил на мой вопрос

person Jim Noulis    schedule 11.05.2017