You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python语音识别项目打包exe出现pythoncom、pyttsx3.drivers缺失报错如何解决?

问题排查与解决方案

一、PyInstaller/auto-py-to-exe 报错 Module 'pythoncom' isn't in frozen sys.path 解决

步骤1:添加隐藏导入后重新打包

直接使用以下命令打包,显式声明缺失的模块:
pyinstaller --onefile --windowed --hidden-import pythoncom --hidden-import pywintypes --hidden-import pyttsx3.drivers --hidden-import pyttsx3.drivers.sapi5 你的脚本名.py
如果使用auto-py-to-exe可视化工具,打开高级设置中的「隐藏导入」选项,依次添加以下内容:

  • pythoncom
  • pywintypes
  • pyttsx3.drivers
  • pyttsx3.drivers.sapi5

步骤2:修复pywin32兼容问题

执行以下命令重装适配Python3.8的pywin32版本,避免版本冲突:
pip uninstall pywin32 -y
pip install pywin32==305

二、cx_Freeze 报错 ModuleNotFoundError: No module named 'pyttsx3.drivers' 解决

修改你的setup.py配置,在build_exe参数中添加缺失的包声明,示例配置如下:

import sys
from cx_Freeze import setup, Executable

build_exe_options = {
    "packages": ["pyttsx3.drivers", "speech_recognition"],
    "includes": ["pythoncom", "pywintypes", "sapi5"],
}

base = None
if sys.platform == "win32":
    # 排查问题时先注释下行,保留控制台输出方便看报错
    base = "Win32GUI"

setup(
    name = "语音识别助手",
    version = "1.0",
    description = "语音识别AI工具",
    options = {"build_exe": build_exe_options},
    executables = [Executable("你的脚本名.py", base=base)]
)

修改后重新执行python setup.py build生成exe即可。

通用排查技巧

  • 打包时先不用单文件(onefile)模式,先打包为文件夹模式,排查缺失依赖效率更高
  • 不要直接双击exe运行,先打开cmd窗口,把exe拖入cmd按回车执行,能看到完整报错信息,快速定位缺失模块
  • 确认所有依赖都安装在当前使用的Python环境下,没有多版本Python环境冲突

内容的提问来源于stack exchange,提问作者Simran Farrukh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:45:05