12

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

ImportError: No module named 'engine'

然后我找到了这个答案。但它也没有奏效。最终,我现在有另一个类似的错误,如下所示:

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'

据我从所有 SO 的答案中得到的,我假设pyttsx库是用Python 2.X编写的。

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

提前致谢。

编辑: 将站点包添加到我的 PATH 变量中也不起作用。

4

4 回答 4

10

好吧,这个问题似乎在以下帖子中得到解决

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

是的,请使用以下版本:
https
://github.com/jpercent/pyttsx 这是一个 Python3 端口,pyttsx它似乎可以解决您面临的问题并针对 Python 3.X 版本。
例如,您看到的错误 ( ImportError: No module named 'drivers') 已通过以下提交
https://github.com/jpercent/pyttsx/commit/f035083338f39f7d93b0c610fbef0bb55fc9fc1c
解决,该提交 已合并到上述存储库中。
要安装pyttsxpython 模块,您可以

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

或者

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

或者

git clone https://github.com/jpercent/pyttsx.git 
cd pyttsx 
sudo python setup.py install  

或者如果您使用它们,则在虚拟环境中执行此操作。您可以避免使用“sudo”进行安装,具体取决于您使用的环境以及您如何组织包(位置等)。
当然,在您的环境中使用正确的 python (python3) 和 pip (pip3)。
请移除并清理pyttsx您在环境中的先前包。
此外,您可以访问http://pyttsx.readthedocs.io/en/latest/install.html
了解更多详情。

于 2017-01-21T21:23:54.563 回答
2

site-packages 没有包含您的 PY_HOME 或 PATH。请打开环境变量并将其添加到系统变量中。

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

C:\where_your_python_installation\Lib\site-packages

希望能帮助到你

于 2017-01-17T10:53:00.820 回答
1

你可以安装

pyttsx3

它与 python3 和 python2 兼容,并且据我测试过没有错误。

安装:

pip install pyttsx3

于 2017-06-26T04:17:47.750 回答
0

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

于 2020-04-19T08:37:16.090 回答