Eine saubere Modularisierung ist entscheidend, wenn ein Projekt sowohl eigenständig laufen als auch in anderen Anwendungen wiederverwendet werden soll. Das folgende Vorgehen zeigt, wie man in PyCharm ein Projekt so strukturiert, dass es als Python‑Paket installierbar wird – passend zu einer setup.py wie:
from setuptools import setup, find_packages
setup(
name="weatherapp",
version="0.1.0",
packages=find_packages(),
include_package_data=True,
)
1. Projekt als Paket strukturieren
Damit find_packages() funktioniert, benötigt jede Modul‑Ebene eine klare Struktur:
weatherapp/
__init__.py
screens/
__init__.py
forecast_screen.py
services/
__init__.py
weather_reader.py
weather_icons.py
config/
__init__.py
settings.py
ui/
visualizer.kv
assets/
icons/
forecast_plot.png
setup.py
PyCharm erleichtert das Anlegen dieser Struktur:
- Rechtsklick → New → Python Package
- PyCharm erzeugt automatisch
__init__.py - Dateien können sauber in Module verschoben werden
2. Module klar trennen
Die Modularisierung folgt dem Prinzip „eine Verantwortung pro Modul“:
screens/enthält ausschließlich Kivy‑Screensservices/enthält API‑ und Datenlogikconfig/enthält Einstellungenui/enthält KV‑Dateien und Assets
Diese Trennung sorgt dafür, dass das Paket später problemlos in anderen Projekten importiert werden kann.
3. setup.py korrekt konfigurieren
Die gezeigte setup.py nutzt:
find_packages()→ erkennt automatisch alle Python‑Paketeinclude_package_data=True→ bindet KV‑Dateien, Icons und Assets ein
Damit PyCharm diese Dateien beim Packaging berücksichtigt, muss zusätzlich eine MANIFEST.in erstellt werden:
recursive-include weatherapp/ui *.kv
recursive-include weatherapp/assets *
PyCharm erkennt diese Datei automatisch beim Build.
4. Paket lokal installierbar machen
In PyCharm:
- Terminal öffnen
- Im Projektordner ausführen:
pip install -e .
Das installiert weatherapp im Editable Mode – Änderungen im Code wirken sofort.
Damit kann das Paket:
- in anderen Projekten importiert werden
- als Plugin genutzt werden
- ohne Kopieren von Dateien wiederverwendet werden
5. Modular testen und integrieren
Durch die Paketstruktur kann PyCharm:
- einzelne Module separat ausführen
- Screens unabhängig testen
- Services ohne UI testen
- das Paket in anderen Projekten importieren:
from weatherapp.screens.forecast_screen import ForecastScreen
Damit wird die Wiederverwendbarkeit maximiert.
Fazit
Die Kombination aus:
- klarer Paketstruktur
- sauber getrennten Modulen
- einer einfachen
setup.py include_package_data=True- MANIFEST‑Regeln für KV‑ und Asset‑Dateien
macht dein Projekt modular, installierbar und wiederverwendbar – sowohl als eigenständige App als auch als integriertes Modul in größeren Anwendungen wie dem BuildingDataVisualizer.