4.7 KiB
4.7 KiB
Requirements Update Dokumentation
Datum: 2025-01-12
Überblick der Änderungen
Die requirements.txt
wurde umfassend aktualisiert, um die Stabilität, Sicherheit und Funktionalität der MYP Platform zu verbessern.
Wichtige Verbesserungen
🔒 Versionsspezifikationen
- Ansatz: Minimale Versionsangaben für maximale Flexibilität
- Nur kritische Pakete: Versionsangaben nur bei Core-Framework-Paketen mit bekannten Breaking Changes
- Behalten:
Flask>=2.3.0,<3.0.0
,SQLAlchemy>=2.0.0,<3.0.0
,cryptography>=41.0.0
- Entfernt: Versionsangaben bei Utility-Paketen und Extensions für bessere Kompatibilität
📊 Neue Kategorien hinzugefügt
Testing & Development
pytest>=7.4.0
- Moderne Test-Frameworkpytest-flask>=1.2.0
- Flask-spezifische Testspytest-cov>=4.1.0
- Code Coveragecoverage>=7.3.0
- Coverage-Berichte
Code Quality
flake8>=6.1.0
- Code-Lintingblack>=23.9.0
- Code-Formatierungisort>=5.12.0
- Import-Sortierung
Zusätzliche Utilities
humanize>=4.8.0
- Benutzerfreundliche Formatierungvalidators>=0.22.0
- Erweiterte ValidierungSend2Trash>=1.8.2
- Sichere Dateilöschungping3>=4.0.4
- Netzwerk-Diagnosenetifaces>=0.11.0
- Netzwerk-Interface-Infocachelib>=0.10.0
- Caching-Funktionenpy7zr>=0.20.0
- 7-Zip-Komprimierung
🚀 Performance-Optimierungen (optional)
# uwsgi>=2.0.21; sys_platform != "win32"
# gevent>=23.7.0
# redis>=5.0.0
# celery>=5.3.0
🔄 Aktualisierte Pakete
Core Framework
- Flask:
2.3.0+
- Neueste stabile Version - SQLAlchemy:
2.0.0+
- Moderne ORM-Features - Werkzeug:
2.3.0+
- Kompatibilität mit Flask
Sicherheit
- cryptography:
41.0.0+
- Aktuelle Sicherheits-Fixes - bcrypt:
4.0.0+
- Verbesserte Hash-Performance - PyJWT:
2.8.0+
- JWT-Token-Handling
Data Processing
- pandas:
2.0.0+
- Moderne DataFrame-API - openpyxl:
3.1.0+
- Excel-Export-Verbesserungen - Pillow:
10.0.0+
- Aktuelle Bildverarbeitung
Plattform-spezifische Pakete
Windows
pywin32>=306
- Windows-API-Zugriffwmi>=1.5.1
- Windows Management Interfacecolorama>=0.4.6
- Farbige Konsolen-Ausgabe
Linux
RPi.GPIO>=0.7.1
- Raspberry Pi GPIO-Kontrolle
Production
gunicorn>=21.2.0
- Unix WSGI-Serverwaitress>=2.1.2
- Windows-kompatibel
Installation
Vollständige Installation
pip install -r requirements.txt
Nur Production-Pakete (ohne Dev-Tools)
pip install -r requirements.txt --no-deps
# Dann manuell nur die benötigten Pakete installieren
Performance-Pakete aktivieren
Entkommentieren Sie die gewünschten Pakete in der Datei:
# uwsgi>=2.0.21; sys_platform != "win32"
Kompatibilität
- Python: 3.8+ (empfohlen: 3.11+)
- Betriebssysteme: Windows 10+, Linux, macOS
- Architektur: x86_64, ARM64
Migrationsleitfaden
Von alter requirements.txt
-
Virtuelles Environment erstellen:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Dependencies installieren:
pip install --upgrade pip pip install -r requirements.txt
-
Anwendung testen:
python app.py --debug
Troubleshooting
Häufige Probleme
-
PyP100 Installation:
- Windows: Möglicherweise Visual C++ Build Tools erforderlich
- Lösung: Microsoft C++ Build Tools installieren
-
weasyprint Installation:
- Linux: Zusätzliche System-Dependencies erforderlich
- Ubuntu/Debian:
sudo apt install libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0
-
psutil Windows-Probleme:
- Lösung: Neueste Version verwenden oder pre-compiled wheel
Fallback-Installation
Bei Problemen einzelne Pakete separat installieren:
pip install Flask>=2.3.0
pip install SQLAlchemy>=2.0.0
# ... weitere Core-Pakete
Wartung
Regelmäßige Updates
# Sicherheitsupdates prüfen
pip list --outdated
# Spezifische Pakete aktualisieren
pip install --upgrade Flask SQLAlchemy
# Vollständiges Update (Vorsicht!)
pip install --upgrade -r requirements.txt
Dependency-Pinning für Production
Für Production-Deployments:
pip freeze > requirements-lock.txt
Nächste Schritte
- Testing: Vollständige Test-Suite mit pytest ausführen
- Security Audit:
pip-audit
für Sicherheitslücken - Performance: Optional Performance-Pakete aktivieren
- Monitoring: Dependency-Updates überwachen
Changelog
2025-01-12
- ✅ Umfassende Aktualisierung mit Versionsspezifikationen
- ✅ Neue Test- und Development-Tools hinzugefügt
- ✅ Code-Quality-Tools integriert
- ✅ Erweiterte Utility-Pakete
- ✅ Performance-Optimierungen vorbereitet
- ✅ Verbesserte Plattform-Kompatibilität