ModuleNotFoundError: Нет модуля с именем «pyttsx3.drivers» (файл, скомпилированный с помощью pyinstaller), но работает нормально, как не скомпилированный - PullRequest
0 голосов
/ 27 сентября 2019

Я скомпилировал свою программу, используя pyinstaller, файл python работает нормально, когда не скомпилирован, но выдает ошибку, когда я скомпилировал и протестировал ее.

Это полная ошибка, я думаю, это может быть из-за pyinstaller

Traceback (most recent call last):
  File "site-packages\pyttsx3\__init__.py", line 20, in init
  File "c:\python37\lib\weakref.py", line 137, in __getitem__
    o = self.data[key]()
KeyError: 'sapi5'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "song_dl.py", line 25, in <module>
    engine = pyttsx3.init('sapi5')
  File "site-packages\pyttsx3\__init__.py", line 22, in init
  File "site-packages\pyttsx3\engine.py", line 30, in __init__
  File "site-packages\pyttsx3\driver.py", line 50, in __init__
  File "importlib\__init__.py", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'pyttsx3.drivers'
[1072] Failed to execute script song_dl

1 Ответ

0 голосов
/ 27 сентября 2019

Взгляните на Когда что-то пошло не так раздел документов и, в частности, Список скрытых импортов

Похоже, что pyinstaller не может "знать "это нужно добавить этот конкретный модуль, поэтому вам нужно указать его явно

вероятно что-то вроде

$ pyinstaller --hidden-imports=pyttsx3.drivers song_dl.py
...