Isolierte Umgebungen und Pakete
Neu erstellen statt reparieren
Das Projekt besitzt endlich etwas Wertvolleres als eine funktionierende Umgebung: genug Informationen, um sie zu ersetzen.
Falls die Website dieses Kapitel seit deinem letzten Besuch wiederhergestellt hat, ist .venv möglicherweise bereits weg. Wenn sie noch vorhanden ist, musst du sie nicht löschen, nur um der Erklärung zu folgen. Der Wiederherstellungsablauf ist immer derselbe, wenn das Verzeichnis fehlt oder du ein beschädigtes bewusst entfernst:
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Neu ist -r requirements.txt. Damit soll pip die Anforderungen aus der Datei lesen statt aus dem Rest der Befehlszeile. pip installiert requests 2.34.2 und löst dessen unterstützende Pakete auf. Der letzte Befehl gibt die installierte Version mit derselben Importprüfung wie zuvor aus.
Wiederherstellung ist ein normaler Vorgang
Kopiere .venv nicht von einem anderen Computer, lade sie nicht hoch und versuche nicht, Dateien darin von Hand zu reparieren. Umgebungen halten Pfade und Einzelheiten ausführbarer Dateien von dem Computer fest, der sie erstellt hat. Eine kopierte Umgebung kann vorhanden aussehen, während sie im Hintergrund auf das falsche Python verweist.
Entfernen und Neuerstellen ist meistens schneller, klarer und verlässlicher. Die Umgebung ist nicht der Ort, an dem dein Projekt seine Anforderungen festhält. Das ist requirements.txt.
Der lokale Wiederherstellungsablauf
Auf deinem eigenen Computer verwenden diese Befehle das echte PyPI statt des internen Spiegels von Python Land. Sie lesen dieselbe dauerhafte Bauanleitung.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python check_package.py
Wenn die Aktivierung blockiert ist, verwende .\.venv\Scripts\python.exe -m pip install -r requirements.txt und .\.venv\Scripts\python.exe check_package.py.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python check_package.py
Du verlierst .venv, hast aber noch requirements.txt. Wie stellst du die Umgebung am besten wieder her?
Du verstehst jetzt jeden Teil dieser Wiederherstellung. Ein neueres Werkzeug kann sie verkürzen, sollte aber nicht verbergen, was es verkürzt.