Was ist eine virtuelle Umgebung?
Eine virtuelle Umgebung ist eine isolierte Umgebung für ein Python-Projekt, die über einen eigenen Satz installierter Pakete verfügt. Es ist wie ein separater Raum für jedes Projekt, in dem nur die Bibliotheken leben, die es benötigt.
Warum braucht man eine Isolierung?
Ohne virtuelle Umgebungen werden alle Pakete global im System installiert. Dies führt zu Problemen:
Versionskonflikte. Verschiedene Projekte können unterschiedliche Versionen derselben Bibliothek erfordern. Ohne Isolation muss man eine Version für alle auswählen.
Verschmutzung des Systems. Im Laufe der Zeit sammeln sich viele ungenutzte Pakete an, die schwer zu verfolgen und zu entfernen sind.
Probleme mit der Reproduzierbarkeit. Wenn ein Kollege oder Sie selbst versuchen, ein Projekt auf einem anderen Computer auszuführen, ist es schwierig zu verstehen, welche Pakete benötigt werden.
Erstellen Sie die erste virtuelle Umgebung
Python wird mit dem integrierten Modul venv geliefert, mit dem Sie virtuelle Umgebungen erstellen können, ohne zusätzliche Tools installieren zu müssen.
Öffnen Sie das Terminal in Ihrem Projektordner und führen Sie den folgenden Befehl aus:
python -m venv venvHier ist das erste Wort venv der Name des Moduls und das zweite der Name des Ordners für die Umgebung. Sie können einen beliebigen Namen verwenden, aber venv oder .venv sind zum De-facto-Standard geworden.
Nach Ausführung des Befehls wird der Ordner venv mit folgender Struktur angezeigt:
venv/
├── bin/ # Aktivierungsskripte (unter Windows - Scripts/)
├── include/ # Header-Dateien
├── lib/ # installierte Pakete
└── pyvenv.cfg # Konfiguration der UmgebungAktivierung und Deaktivierung
Es reicht nicht aus, eine Umgebung zu erstellen - sie muss aktiviert werden. Nach der Aktivierung werden alle pip - und python -Befehle in dieser Umgebung ausgeführt.
Auf Linux und macOS:
source venv/bin/activateUnter Windows:
venv\Scripts\activateNach der Aktivierung erscheint am Anfang der Terminalzeile (venv) — dies bedeutet, dass die Umgebung aktiv ist.
Um die virtuelle Umgebung zu verlassen, wählen Sie einfach:
deactivatePakete installieren
Nachdem die Umgebung aktiviert ist, können Sie die erforderlichen Bibliotheken installieren:
pip install requests
pip install django==4.1Alle Pakete werden im Ordner venv/lib installiert, nicht im System. Sie können die Liste der installierten Pakete mit dem folgenden Befehl überprüfen:
pip listDatei requirements.txt
Damit andere Entwickler (oder Sie selbst auf einem anderen Computer) die Umgebung leicht neu erstellen können, wird die Datei requirements.txt verwendet. Dies ist eine einfache Textdatei, die alle Abhängigkeiten des Projekts auflistet.
Sie können es mit dem folgenden Befehl erstellen:
pip freeze > requirements.txtDer Inhalt der Datei sieht ungefähr so aus:
requests==2.28.1
Django==4.1.0
certifi==2022.9.24Jetzt kann jeder alle benötigten Pakete mit einem einzigen Befehl installieren:
pip install -r requirements.txt
Alternativen zu venv
Obwohl venv in der Python-Standardbibliothek enthalten ist, gibt es andere Tools für die Arbeit mit virtuellen Umgebungen:
virtualenv — ein älteres Tool, das zusätzliche Funktionen unterstützt und auf einigen Systemen schneller läuft.
pipenv — kombiniert die Verwaltung von Abhängigkeiten und virtuellen Umgebungen, verwendet Pipfile -Dateien anstelle von requirements.txt.
poetry — ein moderner Abhängigkeitsmanager mit erweiterten Funktionen für das Projektmanagement und die Veröffentlichung von Paketen.
conda — beliebt in Data Science, da es nicht nur Python-Pakete, sondern auch Systembibliotheken installieren kann.
Für Entwickler-Anfänger bleibt venv aufgrund seiner Einfachheit und der Tatsache, dass keine zusätzlichen Installationen erforderlich sind, die beste Wahl.
Lösung typischer Probleme
Die Umgebung wird unter Windows nicht aktiviert? Möglicherweise müssen Sie die Ausführung von Skripten zulassen. Starten Sie PowerShell als Administrator und führen Sie Folgendes aus:
Set-ExecutionPolicy RemoteSignedPython-Befehl funktioniert nicht? Auf einigen Systemen müssen Sie python3 anstelle von python verwenden.
Haben Sie vergessen, ob die Umgebung aktiviert ist? Überprüfen Sie mit dem Befehl which python (Linux/macOS) oder where python (Windows). Der Pfad sollte auf den Ordner Ihrer virtuellen Umgebung verweisen.
Befund
Virtuelle Umgebungen sind das grundlegende Werkzeug eines jeden Python-Entwicklers. Sie lösen viele Probleme und machen die Arbeit an Projekten komfortabler und vorhersehbarer. Nehmen Sie sich etwas Zeit, um diese Technik zu erlernen, und sie wird sich in Ihren zukünftigen Projekten um ein Vielfaches auszahlen.
Möchten Sie Python vertiefen?
Wir laden Sie ein zu Kodik - Hier findest du strukturierte Kurse für Entwickler aller Niveaus. Und wir haben auch noch einen coolen Telegram-Kanal mit einer freundlichen Community, in der Sie Fragen stellen, Erfahrungen teilen und Unterstützung von Gleichgesinnten erhalten können!
