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

Python脚本经PyInstaller编译后无法运行问题求助

解决PyInstaller编译Python工具时的依赖错误

从你提供的编译日志来看,主要有两个核心问题导致可执行文件运行出错,还有一个次要警告,我给你逐个梳理解决方法:

1. 解决ModuleNotFoundError: No module named 'win32com'错误

这个问题是PyInstaller没自动识别到win32com模块,通常是依赖包未安装或需手动指定隐藏导入:

  • 先确认Python环境是否安装了pywin32包,打开命令行执行:
    pip install pywin32
    
  • 如果已安装仍报错,打包时手动告知PyInstaller包含该模块,两种方式可选:
    • 直接在打包命令里加隐藏导入参数:
      pyinstaller.exe --hidden-import win32com Controller.py
      
    • 或者修改生成的Controller.spec文件,在hiddenimports列表中添加'win32com'(若用到具体子模块如win32com.client,也可一并加入),再用spec文件重新打包:
      pyinstaller.exe Controller.spec
      

2. 解决api-ms-win-crt-*.dll缺失警告

这些dll是Visual C++ Redistributable for Visual Studio 2015-2019的核心组件,你的32位Python 3.6依赖该运行时,打包后的可执行文件也需要它们:

  • 最稳妥的方式是安装对应版本的32位VC++运行库(因为你用的是Python36-32),安装后既能解决编译警告,同事运行工具时也不会因缺少运行库报错。
  • 若不想让同事额外安装运行库,可手动找到这些dll(通常在C:\Windows\SysWOW64目录,因是32位dll),复制到PyInstaller生成的dist文件夹,和可执行文件放在一起。

3. 处理Hidden import "mx.DateTime" not found!警告

这是psycopg2模块的可选依赖:如果你的代码没用到mx.DateTime,完全可以忽略该警告;若确实需要,执行pip install mx.DateTime安装即可,或打包时添加--hidden-import mx.DateTime参数。

按上述步骤修复后,重新执行打包命令,生成的可执行文件应该就能正常运行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:31:08