Pregunta : ¿por qué python3 no puede encontrar el módulo del motor al importar pyttsx?
Detalles :
Estoy haciendo esto en una pi raspberry con Raspbian Wheezy
Bajo Python 2.7, los siguientes trabajos:
>>> import pyttsx
Bajo python3, sucede lo siguiente:
>>> import pyttsx Traceback (etc...) File "", line 1, in File "/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg/pyttsx/__init__.py", line 18, in ImportError: No module named engine
He instalado y usado sudo pip install pyttsx
He importado sys
sys.path contiene esto …
>>> print (sys.path) ['','/usr/local/lib/python3.2/dist-packages/setuptools-5.4.1-py3.2.egg', '/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg', '/usr/lib/python3.2','usr/lib/python3.2/plat-linux2', '/usr/lib/python3.2/lib-dynload','/usr/local/lib/python3.2/dist-packages','/usr/lib/python3/dist-packages']
ls /usr/local/lib/python3.2/dist-packages resulta en …
easy-install.pth pyttsx-1.1-py3.2.egg setuptools-5.4.1-py3.2.egg setuptools.pth
unzip -t /usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg muestra …
pyttsx/__init__.py OK pyttsx/voice.py OK pyttsx/engine.py OK (etc...) No errors detected in compressed data of pyttsx-1.1-py3.2.egg
¡Gracias por tu ayuda!
Creo que estás buscando la biblioteca:
Esta versión compatible con python3 ahora está empaquetada en pypi y funciona bastante bien tanto para python2 como para python3 y, hasta donde he probado, no dio ningún error.
Solo usa :
pip install pyttsx3
Uso
import pyttsx3 engine = pyttsx3.init() engine.say("I am talking now "); engine.setProperty('rate',100) engine.runAndWait();
Intenté instalar pyttsx en Python 3.4 (en Windows). Esto es lo que descubrí:
El pyttsx encontrado en PyPi fue desarrollado por Peter Parente en GitHub .
Parente ha abandonado el desarrollo adicional y nunca lo ha transferido a Python 3. Ni siquiera puedo instalar su versión en Python 3. No estoy seguro de cómo logró esto.
Un usuario llamado James Percent lo bifurcó e hizo un bash bastante mínimo para hacerlo compatible con Python 3.
Descubrí que el bash no fue suficiente, porque, aunque pude instalarlo e incluso import pyttsx
éxito, cuando intenté llamar a pyttsx.init()
haría una importación dinámica de un controlador y fallaría con un error de importación .
Hice una bifurcación adicional para arreglar eso , que enviaré a James Percent. Con esos cambios implementados, puedo ejecutar el script de prueba de @ Khanrad.
En Python 3 Prueba esto:
pip install pyttsx3
si da un error de motor como “no se encuentra el motor”, entonces intente instalarlo.
pip install python-engineio
No estoy seguro de lo que estás tratando de hacer …
En Python 3, tienes que llamar al motor:
engine = pyttsx.init() engine.say("What you want to say") engine.runAndWait()