导入pyttsx在Python 2.7中工作,但不在python3中

问题 :为什么python3在导入pyttsx时无法找到引擎模块?

详情

我正在Raspbian Wheezy的覆盆子pi上做这个

在python 2.7下,以下工作:

>>> import pyttsx

在python3下,会发生以下情况:

>>> import pyttsx
Traceback (etc...)
 File "<stdin>", line 1, in <module>
 File "/usr/local/lib/python3.2/dist-packages/pyttsx-1.1-py3.2.egg/pyttsx/__init__.py", line 18, in <module>
ImportError: No module named engine

我已经安装并使用sudo pip install pyttsx

我输入了sys

sys.path包含此...

>>> 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结果在...

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显示....

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

谢谢你的帮助!


我相信你正在寻找图书馆:

pyttsx3

这个python3兼容版本现在被封装在pypi中,并且对于python2和python3都很好,并且据我测试,它没有给出任何错误。

只需使用:

pip install pyttsx3

用法:

import pyttsx3
engine = pyttsx3.init()
engine.say("I am talking now ");
engine.setProperty('rate',100)  
engine.runAndWait();

我试图在Python 3.4上安装pyttsx(在Windows上)。 这是我发现的:

PyPi上的pyttsx是由Peter Parente在GitHub上开发的。

Parente已经放弃了进一步的开发,并且从未将它移植到Python 3.我甚至无法在Python 3上安装他的版本。我不知道你是如何管理这个的。

一位名为James Percent的用户分析了它,并做了相当小的尝试,以使其与Python 3兼容。

我发现这个尝试并不够用,因为 - 虽然我可以安装它,甚至import pyttsx成功import pyttsx ,但当我尝试调用pyttsx.init()它会执行动态导入驱动程序,并导致导入错误。

我做了一个进一步的修改,我将提交给James Percent。 随着这些变化,我可以运行@ Khanrad的测试脚本。


我不确定你想要做什么...

在Python 3中,你必须调用引擎:

engine = pyttsx.init()
engine.say("What you want to say")
engine.runAndWait()
链接地址: http://www.djcxy.com/p/72007.html

上一篇: import pyttsx works in python 2.7, but not in python3

下一篇: Install opencv for Python 3.3