Clean push: Removed heavy files & added only latest snapshot
This commit is contained in:
93
qt_app_pyside1/build_analysis_report.md
Normal file
93
qt_app_pyside1/build_analysis_report.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 🔍 PyInstaller Build Analysis Report
|
||||
*Generated: July 5, 2025*
|
||||
|
||||
## 🚨 Critical Issues Identified
|
||||
|
||||
### 1. **Hidden Import Failures**
|
||||
- **ERROR**: `ui.main_window` not found
|
||||
- **ERROR**: `controllers` not 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__.py` files
|
||||
- **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**
|
||||
1. **Add `__init__.py` files** to make directories proper Python packages
|
||||
2. **Fix hidden imports** with correct module paths
|
||||
3. **Exclude unused dependencies** to reduce size
|
||||
4. **Add specific imports** for UI components
|
||||
|
||||
### **Optimized Build Command**
|
||||
```bash
|
||||
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
|
||||
1. Create missing `__init__.py` files
|
||||
2. Test optimized build command
|
||||
3. Run executable and capture any runtime errors
|
||||
4. Verify all UI components load correctly
|
||||
5. Test complete pipeline functionality
|
||||
Reference in New Issue
Block a user