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-auditfü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