Checklist (the items that usually break builds)
- Windowed mode: use the GUI/Windowed option for desktop apps.
- Qt plugins: missing
platformsplugins commonly cause startup failures. - Hidden imports: some PyQt modules and your dynamic imports must be included explicitly.
- Clean builds: delete old
build/anddist/when behavior is inconsistent. - Icon + metadata: set an icon and version info for a professional Windows appearance.
Fast troubleshooting flow
- Build onedir first.
- Run the EXE from a terminal once and capture the last error line.
- Add missing plugins/imports and rebuild.
- Only then switch to onefile if needed.
Tip: In PyInstaller GUI, keep a profile per project so each change is tracked and repeatable.