Installations-Anleitung¶
Diese Anleitung erklärt, wie Sie die MyCyclingCity Entwicklungsumgebung einrichten.
Voraussetzungen¶
- Python 3.11 oder höher
- pip (Python Package Manager)
- Git
- Virtuelle Umgebung (empfohlen)
Schnellstart (Empfohlen)¶
Für ein automatisches Setup verwenden Sie das Setup-Script:
git clone https://github.com/codeforberlin/mycyclingcity.git
cd mycyclingcity/mcc-web
./scripts/setup_dev.sh
Das Script führt automatisch alle notwendigen Schritte aus: - Erstellt die virtuelle Umgebung - Installiert alle Abhängigkeiten - Erstellt erforderliche Verzeichnisse (logs, tmp, data/db, etc.) - Erstellt/konfiguriert die .env Datei - Führt Datenbank-Migrationen aus - Erstellt optional einen Superuser - Sammelt statische Dateien
Optionen:
- --skip-venv: Überspringt die Erstellung der virtuellen Umgebung
- --skip-superuser: Überspringt die Superuser-Erstellung
- --skip-static: Überspringt das Sammeln statischer Dateien
Manuelle Installation¶
Falls Sie die Installation manuell durchführen möchten:
Schritt 1: Repository klonen¶
Schritt 2: Python Virtuelle Umgebung einrichten¶
Option A: Projekt-lokale Virtuelle Umgebung (Empfohlen)¶
Option B: Externe Virtuelle Umgebung¶
Für Entwicklung auf verschiedenen Systemen mit unterschiedlichen Python-Installationen (z.B. NAS-Server):
# Virtuelle Umgebung im Home-Verzeichnis erstellen
python3 -m venv ~/venv_mcc
source ~/venv_mcc/bin/activate
Schritt 3: Abhängigkeiten installieren¶
Erforderliche Pakete¶
- Django==5.2.9
- requests==2.32.5
- gunicorn==23.0.0
- gpxpy==1.6.2
- pillow==12.0.0
- python-decouple==3.8
- python-dotenv==1.0.0
- pytest==8.0.0
- pytest-django==4.8.0
- factory-boy==3.3.0
- qrcode[pil]==7.4.2
Schritt 4: Umgebungsvariablen konfigurieren¶
Entwicklung:
Erstellen Sie eine .env Datei im mcc-web/ Verzeichnis:
Produktion:
Die .env Datei liegt außerhalb der Software in /data/appl/mcc/.env
Mindestens erforderliche Variablen:
Hinweis: In Entwicklungsumgebungen kann die .env Datei individuell konfiguriert sein, da die Anwendung relativ im Projektverzeichnis alle Informationen findet.
Schritt 5: Datenbank-Migrationen ausführen¶
Schritt 7: Superuser erstellen (Optional)¶
Schritt 8: Statische Dateien sammeln¶
Schritt 9: Entwicklungsserver starten¶
Zugriff auf die Anwendung: - Admin: http://127.0.0.1:8000/admin - Spiel: http://127.0.0.1:8000/de/game/ - Karte: http://127.0.0.1:8000/de/map/
Überprüfung¶
Um die Installation zu überprüfen:
- Prüfen Sie, dass der Server ohne Fehler startet
- Zugriff auf das Admin-Interface unter
/admin - Tests ausführen:
pytest api/tests/
Fehlerbehebung¶
Import-Fehler¶
- Stellen Sie sicher, dass die virtuelle Umgebung aktiviert ist
- Überprüfen Sie, dass alle Abhängigkeiten installiert sind:
pip list - Prüfen Sie die Python-Version:
python --version(sollte 3.11+ sein)
Datenbank-Fehler¶
- Stellen Sie sicher, dass SQLite verfügbar ist (in Python enthalten)
- Prüfen Sie die Dateiberechtigungen für
data/db.sqlite3 - Migrationen ausführen:
python manage.py migrate
Statische Dateien werden nicht geladen¶
- Führen Sie
python manage.py collectstaticaus - Prüfen Sie
STATIC_ROOTinconfig/settings.py - Überprüfen Sie
DEBUG=Truein der Entwicklung
Nächste Schritte¶
- Konfigurations-Anleitung - Anwendung konfigurieren
- Admin GUI Handbuch - Admin-Interface verwenden lernen
- API Referenz - API erkunden