尝试使用pyttsx3冻结文件时出错-找不到模块sapi5

问题描述

我已经使用pyttsx3和语音识别编写了一个程序-运行该程序在我的IDLE python编辑器上运行良好,但是最近我尝试将其冻结为一个.exe文件(以便我的朋友可以看到),并且它来了出现错误提示

ModuleNotFoundError: No module named pyttsx3.drivers.sapi5

我不知道这是什么-我想它在构建时不会自动获取文件

这是我的setup.py:

import sys
from cx_Freeze import setup,Executable

base = None
if sys.platform == 'win32' : base = 'win32gui'

opts = { 'include_files' : ['splash.py','ohelp.py','oink.gif'],'includes' : ['re'],'packages': ['pyttsx3.drivers','pyttsx3.drivers.dummy','pyttsx3.drivers.espeak','pyttsx3.drivers.nsss','pyttsx3.drivers.sapi5']}

setup(name = "OinK",version = "1.0",description = "A voice assistant",author = "**********",options = {"build.exe" : opts},executables = [ Executable("voice.py",base = base)])

然后在CMD中使用

python setup.py build

除了找不到pyttsx3.drivers.sapi5之外,其他所有东西都正常运行

解决方法

已修复-一些已编译的文件位于与模块文件不同的目录中

不知道为什么,但是我将它们复制到正确的位置,并且有效