In diesem Teil der Serie erstellen wir aus unserer Kivy‑App eine ausführbare Datei (.exe unter Windows, Binary unter Linux). Ideal, um die Gebäudedaten‑Visualisierung ohne Python‑Installation zu verteilen.
1. Ziel dieses Artikels
Unsere Kivy‑App läuft bereits auf dem Raspberry Pi oder PC. Jetzt wollen wir sie so verpacken, dass sie:
- ohne Python‑Installation gestartet werden kann
- einfach verteilt werden kann
- stabil und portabel ist
Dafür nutzen wir PyInstaller, das aus Python‑Projekten eigenständige Programme erzeugt.
2. Vorbereitung
Stelle sicher, dass dein Projekt folgende Struktur hat:
projekt/
│
├── VisualizerApp.py
├── app.kv
├── db_reader.py
├── db_init.py
├── datalogger.py
├── sensor_data.db
└── assets/ (optional)
3. PyInstaller installieren
Windows:
pip install pyinstaller
Linux / Raspberry Pi:
sudo apt install python3-pip<br>pip3 install pyinstaller
4. Kivy‑App mit PyInstaller bauen
Wechsle in den Projektordner:
cd projekt
Dann:
pyinstaller --onefile --windowed visualize.py
Parameter:
--onefile→ eine einzige ausführbare Datei--windowed→ kein Terminalfenster (für GUI‑Apps)
Nach dem Build findest du die fertige Datei in:
dist/visualize.exe (Windows)
dist/visualize (Linux)
5. Wichtige Hinweise für Kivy‑Projekte
5.1. Kivy benötigt zusätzliche Dateien
Manchmal müssen Kivy‑Ressourcen manuell eingebunden werden:
pyinstaller --onefile --windowed visualize.py \
--add-data "C:/Python/Lib/site-packages/kivy/data;kivy/data"
Unter Linux:
pyinstaller --onefile --windowed visualize.py \
--add-data "/usr/lib/python3/dist-packages/kivy/data:kivy/data"
6. Datenbank einbinden
Die SQLite‑Datenbank muss im selben Ordner wie die EXE liegen.
Beispiel:
visualize.exe
sensor_data.db
Wenn du die Datenbank in ein Unterverzeichnis legen willst, passe den Pfad in db_reader.py an.
7. App testen
Starte die App:
- Windows: Doppelklick auf
visualize.exe - Linux:
chmod +x visualize ./visualize
Wenn alles funktioniert, sollte die GUI starten und die Diagramme anzeigen.
8. Typische Fehler & Lösungen
❌ „ModuleNotFoundError: kivy“
→ Kivy‑Daten nicht eingebunden → --add-data verwenden.
❌ Schwarzes Fenster
→ OpenGL‑Treiber fehlen → unter Linux Mesa installieren.
❌ App startet, aber Diagramm leer
→ Datenbank nicht im selben Ordner → Pfad prüfen.
❌ App startet nur mit Terminal
→ --windowed vergessen.
9. Nächster Schritt
Im letzten Artikel führen wir alles zusammen und zeigen, wie du das komplette System stabil betreibst und weiter ausbauen kannst.