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

使用auto-py-to-exe打包PyQt5项目提示No module named自定义模块错误如何解决

问题原因

PyInstaller默认仅会自动识别并打包入口文件依赖的标准库、已安装到Python环境site-packages目录下的第三方库,你项目中同级目录下自行编写的自定义模块(entries.py、database_operation.py等)不会被自动扫描添加到打包结果中,因此运行exe时会触发模块找不到的报错。

解决方案

你可以通过两种方式配置打包规则,将自定义模块添加到打包结果中:

方式一:通过auto-py-to-exe图形界面配置(操作更直观)

  • 找到「高级」分类下的--paths配置项,添加你的项目root根目录的完整路径,告知PyInstaller可以到该路径下查找依赖模块
  • 找到「其他文件」分类,将项目根目录下除main.py外的所有自定义py文件(entries.py、database_operation.py、extended_combobox.py、login.py、message_box.py)全部添加进去
  • 重新生成打包命令后执行打包即可

方式二:直接修改打包命令

你可以在原有打包命令的基础上添加--paths和--add-data参数,Windows环境下修改后的命令示例如下,注意替换占位的路径为你本地的实际路径:

pyinstaller --noconfirm --onefile --console --paths "你的项目root根目录完整路径" --add-data "你的项目root根目录完整路径/entries.py;." --add-data "你的项目root根目录完整路径/database_operation.py;." --add-data "你的项目root根目录完整路径/extended_combobox.py;." --add-data "你的项目root根目录完整路径/login.py;." --add-data "你的项目root根目录完整路径/message_box.py;." "path/to/my/file/main.py"

额外建议

如果你的项目后续还会新增更多自定义模块,推荐将打包模式从--onefile改为--onedir,该模式会将所有依赖文件都放在同一个文件夹中,出现依赖缺失问题时排查更简单,程序启动速度也比单文件模式更快。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:45:04