我试图在Python 3.5.2和pyttsx库中运行语音程序.但我遇到了很多问题.第一个是发动机.当我运行命令时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, inengine = 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变量也不起作用.
好吧,这个问题似乎在下面的帖子中解决了
导入pyttsx在python 2.7中工作,但在python3中没有
如果有任何用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解决,该提交
已合并到上述存储库中.
要安装pyttsx
python模块,您可以
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
以获取更多详细信息.