Artikel 7: Kivy‑App als ausführbare Datei bereitstellen (Windows & Linux)

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.

Veröffentlicht in Uncategorized.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mit der Nutzung dieses Formulars erklärst du dich mit der Speicherung und Verarbeitung deiner Daten durch die Website einverstanden.