4.4 KiB
4.4 KiB
MYP Platform - Requirements Verwaltung
Übersicht
Die MYP Platform verwendet verschiedene Requirements-Dateien für unterschiedliche Umgebungen:
requirements.txt
- Basis-Abhängigkeiten basierend auf tatsächlich verwendeten Imports in app.pyrequirements-dev.txt
- Entwicklungsabhängigkeiten (Testing, Debugging, etc.)requirements-prod.txt
- Produktionsabhängigkeiten (optimiert für Performance)
Installation
Basis-Installation (Empfohlen)
# Nur die wirklich benötigten Abhängigkeiten installieren
pip install -r requirements.txt
Entwicklungsumgebung
# Alle Entwicklungsabhängigkeiten installieren
pip install -r requirements-dev.txt
Produktionsumgebung
# Produktionsabhängigkeiten installieren
pip install -r requirements-prod.txt
Aktualisierte Requirements (Januar 2025)
Basis-Requirements (requirements.txt)
Basierend auf tatsächlich verwendeten Imports in app.py:
Core Flask Framework
- Flask 3.1.1 - Neueste stabile Version
- Flask-Login 0.6.3 - Benutzer-Authentifizierung
- Flask-WTF 1.2.1 - CSRF-Schutz und Formulare
Datenbank
- SQLAlchemy 2.0.36 - ORM für Datenbankoperationen
Sicherheit
- Werkzeug 3.1.3 - WSGI-Utilities und Passwort-Hashing
- bcrypt 4.2.1 - Passwort-Hashing
- cryptography 44.0.0 - SSL-Zertifikate
Smart Plug Steuerung
- PyP100 0.1.2 - TP-Link Tapo Smart Plugs (neueste verfügbare Version)
System & Monitoring
- psutil 6.1.1 - System-Monitoring
- redis 5.2.1 - Rate Limiting und Caching
- requests 2.32.3 - HTTP-Anfragen
Template Engine
- Jinja2 3.1.5 - Template-Rendering
- MarkupSafe 3.0.2 - Sichere String-Verarbeitung
- itsdangerous 2.2.0 - Sichere Daten-Serialisierung
Zusätzliche Core-Abhängigkeiten
- click 8.1.8 - CLI-Kommandos
- blinker 1.9.0 - Flask-Signaling
Windows-spezifisch
- pywin32 308 - Windows-APIs (nur auf Windows)
Kompatibilität
Python-Versionen
- Mindestversion: Python 3.9
- Empfohlen: Python 3.11 oder 3.12
- Getestet mit: Python 3.13.3
Betriebssysteme
- Windows: Vollständig unterstützt (mit pywin32)
- Linux: Vollständig unterstützt
- macOS: Vollständig unterstützt
Wichtige Änderungen
Was wurde entfernt
- Nicht verwendete Pakete: pandas, numpy, orjson, ujson, structlog
- Entwicklungstools: black, flake8, mypy (verschoben nach requirements-dev.txt)
- Optionale Pakete: watchdog, python-dotenv, sphinx
Was wurde beibehalten
- Nur tatsächlich verwendete Imports aus app.py und Core-Modulen
- Kritische Sicherheitspakete für Produktionsbetrieb
- Windows-Kompatibilität für die Zielumgebung
Installation mit Extras
Entwicklungstools installieren
pip install -r requirements.txt
pip install pytest==8.3.4 pytest-cov==6.0.0
Produktionsserver installieren
pip install -r requirements.txt
pip install gunicorn==23.0.0
Wartung
Requirements prüfen
# Installierte Pakete anzeigen
pip list
# Veraltete Pakete prüfen
pip list --outdated
# Abhängigkeitsbaum anzeigen
pip show --verbose Flask
Sicherheitsupdates
# Sicherheitslücken prüfen (falls safety installiert)
pip install safety
safety check
# Alle Pakete aktualisieren
pip install --upgrade -r requirements.txt
Troubleshooting
Häufige Probleme
-
PyP100 Installation
- Version 0.1.2 ist die neueste verfügbare Version
- Bei Problemen:
pip install --no-deps PyP100==0.1.2
-
Dependency-Konflikte
- flask-caching erfordert Flask<3, aber Flask 3.1.1 ist installiert
- Lösung:
pip install flask-caching --upgrade
oder entfernen
-
Windows pywin32
- Wird automatisch nur auf Windows installiert
- Bei Problemen:
pip install --force-reinstall pywin32
-
PATH-Warnungen
- Scripts werden in User-Verzeichnis installiert
- Lösung:
--no-warn-script-location
verwenden
Performance-Tipps
-
Schnellere Installation
pip install --upgrade pip pip install -r requirements.txt --no-deps
-
Cache nutzen
pip install --cache-dir ~/.pip/cache -r requirements.txt
Lizenz-Informationen
Alle verwendeten Pakete sind mit der MIT/BSD/Apache-Lizenz kompatibel.
Letzte Aktualisierung: Januar 2025
Basis-Requirements: Nur tatsächlich verwendete Imports
Nächste Überprüfung: April 2025