AttributeError: модуль «pyttsx3» не имеет атрибута «init»

Прежде всего, я использую:

  • Windows 10
  • Python 3.6.2 (но я пробовал и с Python 3.5.4)
  • Модуль pyttsx3

Я пытаюсь использовать pyttsx3, но я просто не могу его инициализировать с помощью официальных примеров кода.

Мой код (так же, как примеры из здесь и здесь):

import pyttsx3
engine = pyttsx3.init()
engine.say('Just a sample text.')
engine.runAndWait()

И вторая строка дает мне эту ошибку:

AttributeError: модуль «pyttsx3» не имеет атрибута «init»

Я установил его с помощью PIP:

pip install pyttsx3

И я попытался исправить это, установив pypiwin32, но он все еще не работает:

pip install pypiwin32

Когда я выполняю следующий скрипт:

import pyttsx3
print(dir(pyttsx3))

Я получаю это:

['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'pyttsx3']

Вот это:

drivers (folder)
__pycache__ (folder)
driver.py
engine.py
six.py
voice.py
__init__.py

At:

C:\Program Files\Python36\Lib\site-packages\pyttsx3

И содержимое файла __init__.py (комментарии опустил):

from .engine import Engine
import weakref

_activeEngines = weakref.WeakValueDictionary()

def init(driverName=None, debug=False):
    try:
        eng = _activeEngines[driverName]
    except KeyError:
        eng = Engine(driverName, debug)
        _activeEngines[driverName] = eng
    return eng

person JustAnotherCoder    schedule 21.10.2017    source источник


Ответы (2)


Похоже, что модуль pyttsx3 неправильно инициализирован. Надеюсь, у вас нет файла с именем pyttsx3.py в пути к модулю. Я нашел связанную проблему здесь.

person Jayson Chacko    schedule 21.10.2017
comment
О, я совсем забыл, что создал файл pyttsx3.py для тестирования и не удалял и не переименовывал его. Большое спасибо! - person JustAnotherCoder; 21.10.2017

Не называйте свой файл или другой файл pyttsx3.py, я не знаю почему, но в этом проблема.

person Warren Tapawan    schedule 08.07.2020