打包 Python 程序时,出现“没有名为XXX的模块”错误解决办法

  • 时间:2025-11-11 20:24 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要: 在使用 PyInstaller或auto-py-to-exe(或其他打包软件)打包 Python 程序时,某些依赖模块没有被正确识别或包含进打包后的程序中,启动打包后的 exe 文件,一般会报错误,列如下图的报错:打包后启动程序,报告的确 XXX模块Unhandled exception in script Failed to execute script 'main' d

在使用 PyInstaller或auto-py-to-exe(或其他打包软件)打包 Python 程序时,某些依赖模块没有被正确识别或包含进打包后的程序中,启动打包后的 exe 文件,一般会报错误,列如下图的报错:

打包 Python 程序时,出现“没有名为XXX的模块”错误解决办法

打包后启动程序,报告的确 XXX模块

Unhandled exception in script

Failed to execute script 'main' due to unhandled exception: No module named 'scipy._cyutility'

Traceback (most recent call last):
  File "main.py", line 4, in <module>
  File "PyInstallerloaderpyimod02_importers.py", line 457, in exec_module

一、错误缘由

这是在使用 PyInstaller(通过 auto-py-to-exe)打包 Python 程序时,某些依赖模块没有被正确识别或包含进打包后的程序中所导致的典型问题。具体来说,scipy._cyutility 是 scipy 的一个内部 C 扩展模块,在打包过程中未被自动检测到。如果你遇到的是其他模块,大致也是类似情况。

二、传统解决解决办法

方法一:添加缺失的隐藏导入(Hidden Imports)

scipy._cyutility 属于“隐藏导入”,即 PyInstaller 无法从代码中静态分析出需要导入这个模块,因此不会将其打包进去。

你需要告知 PyInstaller 显式地将它加入打包列表。

1. 在 auto-py-to-exe 中添加 Hidden Import:

打开 auto-py-to-exe。

在 “Advanced PYZ and EXE settings (optional)” 部分找到 "Add additional packages to include" 或 "Additional hidden imports"。

输入以下内容(也可以多行输入多个模块),然后重新打包

scipy._cyutility

方法二:手动修改 .spec 文件(适用于高级用户)

如果你是通过生成 .spec 文件来打包的,可以编辑该文件:

# 在 Analysis 阶段添加 hiddenimports
a = Analysis(
    ...
    hiddenimports=['scipy._cyutility', 'scipy.sparse._csparsetools', 'scipy._lib.messagestream'],
    ...
)

然后重新打包。

三、超简单有效的解决办法

直接在 py 文件中,显性导入缺少的模块,重新打包即可。如图:

打包 Python 程序时,出现“没有名为XXX的模块”错误解决办法

显性导入缺少的模块

最后:有时候,像 tqsdk、pandas、numpy、matplotlib、scipy 这类库会引入许多动态导入和 C 扩展模块,PyInstaller 默认并不会全部包含进来。所以提议你在打包这类项目时,提前准备好一份 hidden import 列表 或者 在 py 文件中把它们都显性导入进来

打包 Python 程序时,出现“没有名为XXX的模块”错误解决办法

你学会了吗?

(汇报完毕,感谢收看!)

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】最低 2 美元,这 55 款 macOS & Windows 应用一次全都入手(2025-11-11 22:01)
【系统环境|】SCI期刊对论文图片有哪些要求?(2025-11-11 22:00)
【系统环境|】论文缩写大全,拿走不谢(2025-11-11 22:00)
【系统环境|】阿甘正传高频词整理 GRE托福四六级词汇整理(2025-11-11 21:59)
【系统环境|】矢量图形编辑应用程序-WinFIG(2025-11-11 21:59)
【系统环境|】Figma上市首日暴涨250%的深层逻辑:为什么AI时代协作平台更加不可替代?(2025-11-11 21:58)
【系统环境|】FigJam是什么?一文读懂在线白板软件的方方面面!(2025-11-11 21:58)
【系统环境|】在windows上有什么好用的书写白板软件?(2025-11-11 21:57)
【系统环境|】Docker基础应用之nginx(2025-11-11 21:57)
【系统环境|】VS Code 新手必装插件清单(2025-11-11 21:56)
手机二维码手机访问领取大礼包
返回顶部