ImportError:没有名为' driver'在pyttsx

时间:2017-01-17 10:48:23

标签: python python-3.x text-to-speech pyttsx

我正在尝试在 Python 3.5.2 pyttsx 库中运行语音程序。但是我遇到了很多问题。第一个是发动机。当我运行命令import pyttsx时,编译器给出了如下错误:

ImportError: No module named 'engine'

然后我找到this answer。但它也没有用。最后,我现在有另一个 - 类似 - 如下所示的错误:

D:\Users\orcuny\Desktop\AVA>python ava.py
Traceback (most recent call last):
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\__init__.py", line 37, in init
eng = _activeEngines[driverName]
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\weakref.py", line 131, in __getitem__
o = self.data[key]()
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "ava.py", line 3, in <module>
engine = pyttsx.init()
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\__init__.py", line 39, in init
eng = Engine(driverName, debug)
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\engine.py", line 45, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File "D:\Users\orcuny\AppData\Local\Continuum\Anaconda3\lib\site-packages\pyttsx\driver.py", line 64, in __init__
self._module = __import__(name, globals(), locals(), [driverName])
ImportError: No module named 'drivers'

就我所能得到的答案而言,我认为 pyttsx 库是用 Python 2.X 编写的。

我的第一个问题是,如何解决上述问题? 第二个问题是,我无法找到用 Python 3.X 编写的 pyttsx 库。如果有任何用 Python 3.X 编写的 pyttsx 库,有人可以启发吗?

提前致谢。

修改 将站点包添加到我的PATH变量也没有用。

4 个答案:

答案 0 :(得分:10)

嗯,问题似乎在以下帖子中解决了 import pyttsx works in python 2.7, but not in python3

  

如果有任何用Python 3.X编写的pyttsx库,有人可以启发我吗?

是的,请使用以下版本:
https://github.com/jpercent/pyttsx
它是.post-thumbnail的Python3端口,似乎可以解决您遇到的问题,并以Python 3.X版本为目标 例如,您看到的错误(var getImageSrc = $('.featimg img').attr('src'); // .featimg img is correct selector $('.site-featured-content').css('background-image', 'url(' + getImageSrc + ')'); )由以下提交解决 https://github.com/jpercent/pyttsx/commit/f035083338f39f7d93b0c610fbef0bb55fc9fc1c
它在上述存储库中合并。
要安装pyttsx python模块,您可以

ImportError: No module named 'drivers'

pyttsx

pip install git+git://github.com/jpercent/pyttsx.git

如果您使用虚拟环境,请在虚拟环境中执行此操作。您可以避免使用“sudo”进行安装,具体取决于您使用的环境以及您如何组织软件包(位置等)。
当然,在您的环境中使用正确的python(python3)和pip(pip3) 请删除并清除环境中您之前的pip install git+https://github.com/jpercent/pyttsx.git 包 此外,您还可以访问http://pyttsx.readthedocs.io/en/latest/install.html
有关详细信息。

答案 1 :(得分:2)

网站套餐还没有包含您的PY_HOME或PATH。请打开Enviroment Variables并将其添加到系统变量中。

添加如下所示的内容,您还会在该文件夹下看到所需的包。

C:\where_your_python_installation\Lib\site-packages

希望有所帮助

答案 2 :(得分:1)

您可以安装

pyttsx3

与python3和python2兼容,并且在我测试过程中没有错误。

安装:

pip install pyttsx3

答案 3 :(得分:0)

在CMD中运行此命令将删除所有问题, 我刚试过 pip install -Iv pyttsx3 == 2.6 -U