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

如何用PyInstaller将多文件PySide6项目打包为.exe?

多文件PySide6项目PyInstaller打包问题

我正在开发一个由多Python文件和文件夹组成的PySide6应用,直接运行python main.py完全正常,但打包成包含所有资源的独立.exe时遇到问题。

项目结构

MyProject/  # 文件夹
├── main.py  # 应用入口
├── models.py  # 文件
├── staff.db # 文件
├── utils.py  # 文件
├── photos/  # 图片资源文件夹
├── views/ # 文件夹
│   ├── __init__.py
│   ├── main_app.py  # 含main.py依赖的MainApp类
│   ├── admin_views/ # 文件夹
│   │   ├── __init__.py # 文件
│   │   ├── admin_file1.py # 文件
│   │   ├── admin_file2.py # 文件
│   │   ├── ...  # admin_views其他文件
│   ├── ...  # 其他视图相关Python文件

运行打包后.exe的错误

ModuleNotFoundError: No module named 'views'

使用的PyInstaller打包命令

pyinstaller --name "MyProject" --onefile --windowed --icon=resources/icon.ico main.py

观察结果

  • 直接运行python main.py无任何问题
  • 怀疑PyInstaller未打包所有必需的文件和依赖
  • views及内部admin_views文件夹中的模块都是应用运行必需的

已尝试的方案

  • 为相关文件夹添加了__init__.py文件
  • 检查过PyInstaller是否自动包含目标文件夹
  • 使用--paths参数显式引入views文件夹

问题

  1. 如何确保PyInstaller打包所有文件和资源?
  2. 多文件Python项目有没有特定的PyInstaller配置方法?
  3. --onefile参数是否合适?有没有更优的打包方案?

期望

生成与直接运行效果完全一致的独立.exe,能正常加载views等模块,同时打包staff.db、photos等资源文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:22:37