3.0 KiB
3.0 KiB
🔍 PyInstaller Build Analysis Report
Generated: July 5, 2025
🚨 Critical Issues Identified
1. Hidden Import Failures
- ERROR:
ui.main_windownot found - ERROR:
controllersnot found - CAUSE: PyInstaller cannot find these modules as packages
- IMPACT: Runtime import failures for UI and controller modules
2. Module Structure Issues
- PROBLEM: Treating folders as modules without proper
__init__.pyfiles - AFFECTED:
ui/,controllers/,utils/directories - CONSEQUENCE: Import resolution failures
3. Massive Dependencies
- SIZE: Build includes TensorFlow (2.19.0), PyTorch (2.5.1), SciKit-learn, etc.
- IMPACT: ~800MB+ executable with unnecessary ML libraries
- BLOAT: Most dependencies unused by traffic monitoring app
4. Deprecation Warnings
- TorchScript: Multiple deprecation warnings
- torch.distributed: Legacy API warnings
- NNCF: Version mismatch warnings (torch 2.5.1 vs recommended 2.6.*)
✅ Successful Components
- ✓ PySide6 Qt framework detected and integrated
- ✓ OpenCV (cv2) hooks processed successfully
- ✓ NumPy and core scientific libraries included
- ✓ Build completed without fatal errors
🛠️ Recommended Fixes
Immediate Fixes
- Add
__init__.pyfiles to make directories proper Python packages - Fix hidden imports with correct module paths
- Exclude unused dependencies to reduce size
- Add specific imports for UI components
Optimized Build Command
pyinstaller --onefile --console --name=FixedDebug ^
--add-data="ui;ui" ^
--add-data="controllers;controllers" ^
--add-data="utils;utils" ^
--add-data="config.json;." ^
--hidden-import=ui.main_window ^
--hidden-import=controllers.video_controller_new ^
--hidden-import=utils.crosswalk_utils_advanced ^
--hidden-import=utils.traffic_light_utils ^
--hidden-import=cv2 ^
--hidden-import=openvino ^
--hidden-import=numpy ^
--hidden-import=PySide6.QtCore ^
--hidden-import=PySide6.QtWidgets ^
--hidden-import=PySide6.QtGui ^
--exclude-module=tensorflow ^
--exclude-module=torch ^
--exclude-module=sklearn ^
--exclude-module=matplotlib ^
--exclude-module=pandas ^
main.py
Size Optimization
- Current: ~800MB+ with ML libraries
- Optimized: ~200-300MB without unused dependencies
- Core only: PySide6 + OpenVINO + OpenCV + app code
🎯 Runtime Risk Assessment
High Risk
- UI module import failures
- Controller module missing
- Configuration file access issues
Medium Risk
- Missing utility modules
- OpenVINO model loading
- Resource file access
Low Risk
- Core PySide6 functionality
- OpenCV operations
- Basic Python libraries
📋 Next Steps
- Create missing
__init__.pyfiles - Test optimized build command
- Run executable and capture any runtime errors
- Verify all UI components load correctly
- Test complete pipeline functionality