ModuleNotFoundError:没有名为'pyttsx3.drivers'的模块(使用pyinstaller编译的文件),但是可以作为未编译的文件正常工作

问题描述 投票:0回答:1

我使用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
python pyinstaller pyttsx
1个回答
0
投票

看看文档的When things went wrong部分特别是Listing hidden imports

似乎pyinstaller无法“知道”它需要添加此特定模块,因此您需要明确指定它

可能类似

$ pyinstaller --hidden-imports=pyttsx3.drivers song_dl.py
© www.soinside.com 2019 - 2024. All rights reserved.