python 3.8環境pyttsx 3使用失敗問題解決

2387 ワード

python 3.8には多くのピットが存在し、多くのmoduleは対応するバージョンのインストールパッケージがないか、インストールに多くの問題が発生します.今回pyttsx 3を使用した場合、インストールは問題ありませんが、コードの実行はずっと間違っています.
Traceback (most recent call last):
  File "Python38\lib\site-packages\pyttsx3\__init__.py", line 44, in init
    eng = _activeEngines[driverName]
  File "Python38\lib\weakref.py", line 137, in __getitem__
    o = self.data[key]()
KeyError: None

調べた結果、パソコンの音声認識は問題なく、何度も再インストールしても解決できないことを確認し、他の解決方法を探して、最終的にバージョンマッチングに問題があることが分かった.解決方法:pyttsx 3のバージョンを2.71に指定します(2.80に指定した場合、インストールに失敗します).
pip install pyttsx3==2.71

もちろん、pyttsx 3を使わなければならないか、最終的に解決されていない場合はpythoncomを使ってもいいです.
import pythoncom
from win32com import client
 
pythoncom.CoInitialize()
engine=client.Dispatch("SAPI.SpVoice")
engine.Speak('hello,   ')