Isolierte Umgebungen und Pakete · Abschlussprojekt
Abschlussprojekt: Abschlussprojekt: Die Umgebung reproduzierbar machen
Deine aktuelle Shell kennt den Weg bereits. Ein reproduzierbares Projekt hinterlässt ihn auch für die nächste Person, die vielleicht ein anderes Betriebssystem verwendet und deine .venv ganz sicher nicht hat.
Das Endergebnis ist bewusst klein:
requirements.txthält die eine direkte Abhängigkeit mit ihrer genauen Version fest;check_package.pyimportiert requests und gibt dessen Version aus;ENVIRONMENT.mderklärt das Erstellen, Aktivieren, Installieren und Prüfen unter macOS/Linux und Windows.
Die Umgebung selbst gehört nicht zur Übergabe. Wenn .venv zwischen den Lektionen verschwunden ist, ist das ein nützlicher Beleg: Die dauerhaften Dateien sind das Projekt.
Die Anleitung zur Neuerstellung schreiben
Öffne ENVIRONMENT.md mit nano. Schreibe eine kurze Anleitung in eigenen Worten, aber achte darauf, dass sie beide folgenden Wege enthält.
Für macOS und Linux braucht eine andere lernende Person diese Befehle:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Für Windows PowerShell braucht sie:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python check_package.py
Du darfst die uv-Alternative nach dem Standardweg ergänzen. Ersetze den Standardweg nicht durch sie. Eine Person mit Python, aber ohne uv soll das Projekt weiterhin wiederherstellen können.
Die Übergabe selbst prüfen
Wenn .venv fehlt, folge einem deiner eigenen Wege im Terminal der Website. Die Website verwendet zum Erstellen python statt python3:
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Du solltest 2.34.2 sehen. Du hast die Umgebung gerade anhand deiner eigenen schriftlichen Anleitung neu erstellt. Genau darum geht es im Kapitel: Die Umgebung war entbehrlich, die Bauanleitung nicht.
Wenn beide Dateien fertig sind, drücke Check my work.
Wenn deiner Anleitung ein Schritt fehlt, findest du das am schnellsten heraus, indem du sie liest, als hättest du dieses Projekt noch nie gesehen. Bitte Monty, deiner ENVIRONMENT.md wie beim ersten Lesen zu folgen und dir die erste Stelle zu nennen, an der sie etwas voraussetzt, das du nie aufgeschrieben hast.
Warum muss ENVIRONMENT.md den Standardweg mit venv und pip beibehalten, auch wenn du die uv-Alternative ergänzt?