Zum Hauptinhalt springen

📋 requirements.txt-Datei für Python

Die requirements.txt-Datei ist der Industriestandard zum Angeben und Verwalten von Abhängigkeiten in Python-Projekten. Diese Anleitung zeigt, wie du requirements.txt erstellst, konfigurierst und verwendest, um Konsistenz zwischen Entwicklungs- und Produktionsumgebungen sicherzustellen.

Was ist eine requirements.txt-Datei?

Eine requirements.txt-Datei listet alle externen Python-Pakete auf, die dein Projekt benötigt, samt ihren spezifischen Versionen. Das ermöglicht:
  • Dir und deinem Team, identische Umgebungen zu pflegen
  • Neuen Mitwirkenden, die Umgebung exakt zu reproduzieren
  • Deploy auf Square Cloud, mit den korrekten Abhängigkeiten zu funktionieren

1

Aktiviere die virtuelle Umgebung

Innerhalb einer virtuellen Umgebung zu arbeiten ist unerlässlich, um die Abhängigkeiten deines Projekts vom globalen Python-System isoliert zu halten. Das vermeidet Versionskonflikte und stellt Reproduzierbarkeit sicher.Aktiviere deine virtuelle Umgebung mit einem der folgenden Befehle, je nach deinem System:Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
2

Liste die Abhängigkeiten des Projekts auf

Gib immer exakte Versionen mit == an, um Reproduzierbarkeit sicherzustellen und Fehler durch inkompatible Updates in der Produktion zu vermeiden.

Option A: Manuell erstellen (Empfohlen)

Erstelle eine requirements.txt-Datei im Stammverzeichnis deines Projekts und liste alle externen Pakete mit ihren Versionen auf:
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

Option B: Automatisch mit pip freeze generieren

Nachdem du die Abhängigkeiten in deiner virtuellen Umgebung installiert hast, kannst du die Datei automatisch generieren. Es gibt zwei Hauptwege:Option B1: pip freeze verwenden (schließt alles ein)
pip freeze > requirements.txt
Vorsicht: pip freeze schließt alle global installierten Pakete ein, was Pakete umfassen kann, die für dein Projekt unnötig sind. Überprüfe die Datei nach dem Generieren und entferne Abhängigkeiten, die nicht zwingend notwendig sind.
Option B2: pipdeptree oder pip freeze mit Filterung verwenden (Empfohlen)Um NUR die Abhängigkeiten deines Projekts zu erfassen (ohne begleitende Umgebungspakete), verwende:
pip freeze --user > requirements.txt
Oder, für eine sauberere Lösung, installiere pipdeptree:
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
Alternative: Verwende eine manuelle Listenprüfung oder überprüfe, welches Paket speziell für dein Projekt installiert wurde:
pip list | grep -i "your-package"
Wenn du in einer virtuellen Umgebung arbeitest (empfohlen), funktioniert pip freeze einwandfrei, da die Umgebung isoliert ist und nur die Abhängigkeiten deines Projekts enthält.
3

Abhängigkeiten überprüfen und validieren

Öffne die requirements.txt-Datei in deinem Texteditor und:
  1. Überprüfe die Paketliste
  2. Entferne unnötige Abhängigkeiten
  3. Aktualisiere Versionen nach Bedarf
  4. Stelle sicher, dass du exakte Versionen (mit ==) verwendest
4

Abhängigkeiten installieren

Um alle aufgeführten Abhängigkeiten zu installieren:
pip install -r requirements.txt
Dieser Befehl garantiert, dass alle Mitwirkenden und Produktionsumgebungen exakt dieselben Versionen verwenden.
5

Versionieren und teilen

Wenn requirements.txt fertig ist, kannst du:
  • Sie mit deinem Team teilen
  • Sie in die Versionskontrolle (git) aufnehmen
  • Sicherstellen, dass alle mit denselben Versionen arbeiten
  • Das Deployment auf Square Cloud vereinfachen
Wenn du dein Projekt auf Square Cloud hostest, wird die requirements.txt-Datei automatisch erkannt und alle Abhängigkeiten werden während des Builds installiert.

💡 Best Practices und Tipps:

  • Aktuell halten: Überprüfe und aktualisiere requirements.txt regelmäßig, wenn du neue Abhängigkeiten hinzufügst
  • Exakte Versionen verwenden: Verwende immer == statt >, >= oder keiner Version, um Überraschungen in der Produktion zu vermeiden
  • pip freeze überprüfen: Wenn du pip freeze verwendest, überprüfe die Datei vor dem Committen, da sie unnötige begleitende Pakete enthalten kann
  • Versionierung: Committe requirements.txt in git, um Änderungen an Abhängigkeiten nachzuverfolgen
  • Isolierte Umgebung: Pflege eine virtuelle Umgebung pro Projekt, um globale Konflikte zu vermeiden
  • Lokal testen: Teste die Datei vor dem Deploy mit pip install -r requirements.txt in einer neuen Umgebung

🚀 Nächste Schritte

Wenn deine requirements.txt-Datei konfiguriert ist:
  1. Committe sie in dein Git-Repository.
  2. Hoste dein Projekt auf Square Cloud.
  3. Richte automatischen Deploy über GitHub ein.
  4. Willkommen beim professionellen Hosting von Python-Anwendungen!
Eine gut strukturierte requirements.txt-Datei ist die Grundlage für jede erfolgreiche Python-Anwendung und stellt sicher, dass deine Anwendung auf Square Cloud einwandfrei funktioniert.