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