pyttsx错误(mac):找不到名为foundation

时间:2018-02-19 15:19:06

标签: python

这是我在编程方面的首次亮相,我通过stakoverflow进行了广泛的搜索以获得答案,但我在这一点上有点迷失。

我想让pyttsx在我的Mac上工作。

当我在python上运行以下代码时:

import pyttsx3
engine  = pyttsx3.init()
engine.say("hello")
engine.runAndWait()

我收到以下错误消息:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyttsx3/__init__.py", line 44, in init
    eng = _activeEngines[driverName]
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/weakref.py", line 137, in __getitem__
    o = self.data[key]()
KeyError: None

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/philippedulbecco/Documents/Untitled.py", line 2, in <module>
    engine  = pyttsx3.init()
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyttsx3/__init__.py", line 46, in init
    eng = Engine(driverName, debug)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyttsx3/engine.py", line 52, in __init__
    self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyttsx3/driver.py", line 75, in __init__
    self._module = importlib.import_module(name)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pyttsx3/drivers/nsss.py", line 2, in <module>
    from Foundation import *
ModuleNotFoundError: No module named 'Foundation'

任何想法如何解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:3)

我可以确认devius的链接有帮助。我在osx上遇到了与pyttsx3完全相同的问题。安装PyObjC为我解决了这个问题。

pip install -U pyobjc

https://pythonhosted.org/pyobjc/install.html