Initial commit: Kivy database interface application with search, add/update, delete functionality and Windows build support

This commit is contained in:
ske087
2025-10-20 13:21:29 +03:00
commit 8ae60a77e4
17 changed files with 11624 additions and 0 deletions

64
build_windows.py Normal file
View File

@@ -0,0 +1,64 @@
"""
Script to build Windows executable using PyInstaller
Run this on a Windows machine or use Wine on Linux
"""
import os
import sys
import subprocess
def build_executable():
"""Build the Windows executable"""
print("Building Windows executable with PyInstaller...")
print("Note: For best results, build on a Windows machine")
print()
# Check if icon file exists
icon_param = []
if os.path.exists('app_icon.ico'):
icon_param = ['--icon=app_icon.ico']
print("Using icon file: app_icon.ico")
else:
print("No icon file found (optional)")
# PyInstaller command - simplified to avoid module collection issues
cmd = [
'pyinstaller',
'--name=DatabaseApp',
'--onefile',
'--windowed',
'--hidden-import=mysql.connector',
'--hidden-import=kivy.core.window.window_sdl2',
'--hidden-import=win32timezone',
'--exclude-module=_tkinter',
'--exclude-module=matplotlib',
'--exclude-module=numpy',
] + icon_param + ['main.py']
try:
print("Running PyInstaller...")
print("Command:", ' '.join(cmd))
print()
subprocess.run(cmd, check=True)
print("\n" + "="*50)
print("Build completed successfully!")
print("Executable location: dist/DatabaseApp.exe")
print("="*50)
print("\nNote: If the executable doesn't work on Windows:")
print("1. Build it directly on a Windows machine")
print("2. Use the DatabaseApp.spec file: pyinstaller DatabaseApp.spec")
except subprocess.CalledProcessError as e:
print(f"\nError building executable: {e}")
print("\nTroubleshooting:")
print("1. Make sure you're building on Windows for best compatibility")
print("2. Try using the spec file: pyinstaller DatabaseApp.spec")
print("3. Check BUILD_WINDOWS_GUIDE.md for more information")
sys.exit(1)
except FileNotFoundError:
print("PyInstaller not found. Please install it first:")
print("pip install pyinstaller")
sys.exit(1)
if __name__ == "__main__":
build_executable()