Einführung
Python-Virtuelle Umgebungen (Python virtual environments) sind essentielle Werkzeuge für die Verwaltung von Abhängigkeiten in Python-Projekten. Sie schaffen isolierte Räume, in denen Sie Pakete installieren können, ohne die globale Python-Installation Ihres Systems zu beeinflussen. Diese Isolation hilft, Konflikte zwischen verschiedenen Projekten zu vermeiden, die möglicherweise unterschiedliche Versionen desselben Pakets benötigen.
In diesem Lab (LabEx) werden Sie lernen, wie Sie Python-Virtuelle Umgebungen erstellen, aktivieren und deaktivieren. Diese Fähigkeiten sind für Python-Entwickler grundlegend und helfen Ihnen, saubere, organisierte und reproduzierbare Entwicklungsumgebungen für Ihre Projekte aufrechtzuerhalten.
Python-Virtuelle Umgebungen verstehen und erstellen
Lassen Sie uns zunächst verstehen, was Python-Virtuelle Umgebungen (Python virtual environments) sind und warum sie wichtig sind, bevor wir eine erstellen.
Was ist eine Python-Virtuelle Umgebung?
Eine Python-Virtuelle Umgebung ist eine isolierte Installation eines Python-Interpreters. Wenn Sie eine virtuelle Umgebung aktivieren, werden alle Pakete, die Sie installieren, in das private Verzeichnis dieser Umgebung platziert, nicht in die systemweite Python-Installation. Diese Isolation bietet mehrere Vorteile:
- Sie können unterschiedliche Versionen desselben Pakets für verschiedene Projekte verwenden.
- Sie können die genaue Liste der erforderlichen Pakete einfach mit anderen teilen.
- Sie können Ihre systemweite Python-Installation sauber und organisiert halten.
Erstellen Ihrer ersten virtuellen Umgebung
Python 3.3 und höher enthält das venv-Modul, das das empfohlene Werkzeug zum Erstellen von virtuellen Umgebungen ist. Lassen Sie uns unsere erste virtuelle Umgebung erstellen:
Stellen Sie zunächst sicher, dass Sie sich im Projektverzeichnis befinden:
mkdir -p ~/project/python_env_demo cd ~/project/python_env_demoErstellen Sie eine neue virtuelle Umgebung namens
myenv, indem Sie folgenden Befehl ausführen:sudo apt-get update sudo apt-get install python3.10-venv -y python3 -m venv myenvLassen Sie uns untersuchen, was erstellt wurde:
ls -la myenvSie sollten eine Ausgabe ähnlich der folgenden sehen:
total 20 drwxrwxr-x 5 labex labex 4096 Sep 14 10:00 . drwxrwxr-x 3 labex labex 4096 Sep 14 10:00 .. drwxrwxr-x 2 labex labex 4096 Sep 14 10:00 bin drwxrwxr-x 2 labex labex 4096 Sep 14 10:00 include drwxrwxr-x 3 labex labex 4096 Sep 14 10:00 lib -rw-rw-r-- 1 labex labex 70 Sep 14 10:00 pyvenv.cfg
Der venv-Befehl hat ein Verzeichnis namens myenv mit mehreren Unterverzeichnissen erstellt. Die wichtigsten sind:
bin: Enthält den Python-Interpreter, pip und Aktivierungsskripte.lib: Enthält die installierten Pakete für diese Umgebung.pyvenv.cfg: Konfigurationsdatei für die virtuelle Umgebung.
Nun haben Sie erfolgreich eine Python-Virtuelle Umgebung erstellt, die bereit ist, aktiviert und verwendet zu werden.
Aktivieren einer Python-Virtuellen Umgebung
Nachdem Sie nun eine virtuelle Umgebung erstellt haben, müssen Sie sie aktivieren, bevor Sie sie verwenden können. Die Aktivierung ändert die Umgebungsvariablen Ihrer Shell, sodass der Python-Interpreter und die Pakete aus Ihrer virtuellen Umgebung anstelle der systemweiten Python-Installation verwendet werden.
So aktivieren Sie eine virtuelle Umgebung
Stellen Sie sicher, dass Sie sich im Projektverzeichnis befinden:
cd ~/project/python_env_demoAktivieren Sie die virtuelle Umgebung, indem Sie folgenden Befehl ausführen:
source myenv/bin/activateBeachten Sie, dass sich Ihr Befehlsprompt geändert hat. Es zeigt jetzt den Namen der virtuellen Umgebung in Klammern am Anfang des Prompts an:
(myenv) labex:python_env_demo/ $Dieser visuelle Indikator hilft Ihnen, sich zu merken, dass Sie innerhalb einer virtuellen Umgebung arbeiten.
Überprüfen der Aktivierung
Um zu bestätigen, dass Ihre virtuelle Umgebung aktiv ist und richtig funktioniert, können Sie Folgendes überprüfen:
Welcher Python-Interpreter verwendet wird:
which pythonSie sollten eine Ausgabe wie die folgende sehen:
/home/labex/project/python_env_demo/myenv/bin/pythonDies zeigt, dass der
python-Befehl jetzt auf den Python-Interpreter in Ihrer virtuellen Umgebung zeigt, nicht auf den systemweiten.Welches pip (Python-Paketinstallationsprogramm) verwendet wird:
which pipSie sollten eine Ausgabe wie die folgende sehen:
/home/labex/project/python_env_demo/myenv/bin/pipDies bestätigt, dass Sie Pakete in Ihre virtuelle Umgebung installieren werden, nicht in die systemweite Python-Installation.
Überprüfen Sie die Python-Version:
python --versionDie Ausgabe zeigt die in Ihrer virtuellen Umgebung verwendete Python-Version an.
Nun haben Sie Ihre Python-Virtuelle Umgebung erfolgreich aktiviert. Alle Python-Befehle, die Sie ausführen, und alle Pakete, die Sie installieren, werden diese isolierte Umgebung anstelle der Python-Installation Ihres Systems verwenden.
Installieren von Paketen in einer virtuellen Umgebung
Einer der Hauptvorteile von virtuellen Umgebungen ist die Möglichkeit, Python-Pakete unabhängig von der systemweiten Python-Installation zu installieren und zu verwalten. Lassen Sie uns untersuchen, wie Sie Pakete in Ihrer aktivierten virtuellen Umgebung installieren können.
Installieren von Paketen mit pip
Stellen Sie sicher, dass Ihre virtuelle Umgebung noch aktiviert ist. Am Anfang Ihres Befehlsprompts sollte
(myenv)angezeigt werden. Wenn sie nicht aktiviert ist, aktivieren Sie sie mit:source myenv/bin/activateInstallieren wir ein einfaches Paket namens
requests, das häufig für HTTP-Anfragen verwendet wird:pip install requestsSie werden eine Ausgabe sehen, die den Download- und Installationsprozess anzeigt.
Überprüfen Sie, ob das Paket installiert wurde, indem Sie die Liste der installierten Pakete prüfen:
pip listSie sollten
requestsund seine Abhängigkeiten in der Liste sehen:Package Version ------------------ --------- certifi 2025.1.31 charset-normalizer 3.4.1 idna 3.10 pip 22.0.2 requests 2.32.3 setuptools 59.6.0 urllib3 2.3.0
Verwenden des installierten Pakets
Lassen Sie uns ein einfaches Python-Skript erstellen, um das requests-Paket zu testen:
Öffnen Sie den Editor und erstellen Sie eine neue Datei namens
test_requests.pyim Verzeichnis~/project/python_env_demo:import requests response = requests.get('https://httpbin.org/get') print(f"Status Code: {response.status_code}") print(f"Content Type: {response.headers['content-type']}") print("\nResponse Body Preview:") print(response.text[:300] + "...")Speichern Sie die Datei und führen Sie sie aus:
python test_requests.py
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Status Code: 200 Content Type: application/json Response Body Preview: { "args": {}, "headers": { "Accept": "_/_", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.32.3", "X-Amzn-Trace-Id": "Root=1-67ca4e9a-3b65928a0af016e74bc867b7" }, "origin": "47.251.8.222", "url": "https://httpbin.org/g...
Dies zeigt, dass das requests-Paket erfolgreich in Ihrer virtuellen Umgebung installiert wurde und richtig funktioniert.
Deaktivieren einer Python-Virtuellen Umgebung
Nachdem Sie mit einer virtuellen Umgebung fertig sind, möchten Sie möglicherweise zur globalen Python-Umgebung Ihres Systems zurückkehren. Dieser Vorgang wird als Deaktivierung bezeichnet.
So deaktivieren Sie eine virtuelle Umgebung
Stellen Sie sicher, dass Ihre virtuelle Umgebung derzeit aktiviert ist. Am Anfang Ihres Befehlsprompts sollte
(myenv)angezeigt werden.Um die virtuelle Umgebung zu deaktivieren, führen Sie einfach folgenden Befehl aus:
deactivateBeachten Sie, dass sich Ihr Befehlsprompt wieder normalisiert hat. Das Präfix
(myenv)ist verschwunden:labex:python_env_demo/ $
Überprüfen der Deaktivierung
Um zu bestätigen, dass Ihre virtuelle Umgebung deaktiviert wurde und Sie wieder die systemweite Python-Umgebung verwenden, führen Sie die folgenden Überprüfungen aus:
Prüfen Sie, welcher Python-Interpreter verwendet wird:
which python3Sie sollten eine Ausgabe wie die folgende sehen:
/usr/bin/python3Dies zeigt, dass der
python3-Befehl jetzt auf den systemweiten Python-Interpreter zeigt.Versuchen Sie, das zuvor erstellte Skript auszuführen:
python3 test_requests.pyJe nachdem, ob das
requests-Paket in Ihrer systemweiten Python-Umgebung installiert ist, könnten Sie einen Fehler sehen:Traceback (most recent call last): File "/home/labex/project/python_env_demo/test_requests.py", line 1, in <module> import requests ModuleNotFoundError: No module named 'requests'Dieser Fehler tritt auf, weil das
requests-Paket in Ihrer virtuellen Umgebung installiert wurde, nicht in der systemweiten Python-Umgebung. Dies ist einer der Hauptvorteile von virtuellen Umgebungen - die Isolierung von Paketen für verschiedene Projekte.
Wiederaktivieren der virtuellen Umgebung
Wenn Sie erneut an Ihrem Projekt arbeiten müssen, können Sie die virtuelle Umgebung einfach wieder aktivieren:
source myenv/bin/activate
Ihr Befehlsprompt wird erneut (myenv) anzeigen, was darauf hinweist, dass die virtuelle Umgebung aktiv ist.
Zusammenfassung der gängigen Befehle für virtuelle Umgebungen
Hier ist eine kurze Referenz zu den von uns behandelten Befehlen:
| Befehl | Beschreibung |
|---|---|
python3 -m venv myenv |
Erstellen Sie eine neue virtuelle Umgebung namens "myenv" |
source myenv/bin/activate |
Aktivieren Sie die virtuelle Umgebung |
pip install package_name |
Installieren Sie ein Paket in der aktiven virtuellen Umgebung |
pip list |
Auflisten der installierten Pakete in der aktiven virtuellen Umgebung |
deactivate |
Deaktivieren Sie die aktuelle virtuelle Umgebung |
Diese Befehle bilden die Grundlage für die Arbeit mit Python-Virtuellen Umgebungen und ermöglichen es Ihnen, isolierte Python-Umgebungen für Ihre Projekte zu erstellen, zu verwenden und zu verwalten.
Zusammenfassung
In diesem Lab haben Sie die wesentlichen Fähigkeiten für die Arbeit mit Python-Virtuellen Umgebungen gelernt:
- Verständnis des Konzepts und der Vorteile von virtuellen Umgebungen
- Erstellen einer neuen virtuellen Umgebung mit dem
venv-Modul - Aktivieren einer virtuellen Umgebung, um Ihre Python-Arbeiten zu isolieren
- Installieren von Paketen innerhalb einer virtuellen Umgebung mit pip
- Testen der installierten Pakete mit einem einfachen Python-Skript
- Deaktivieren einer virtuellen Umgebung, wenn Sie mit der Arbeit daran fertig sind
Diese Fähigkeiten bilden die Grundlage für gute Python-Entwicklungspraktiken. Durch die Verwendung von virtuellen Umgebungen können Sie:
- Die Abhängigkeiten Ihrer Projekte voneinander isolieren
- Konflikte zwischen verschiedenen Paketversionen vermeiden
- Ihre Projekte reproduzierbarer und leichter teilbar machen
- Eine saubere und organisierte Python-Entwicklungsumgebung aufrechterhalten
Virtuelle Umgebungen sind ein unverzichtbares Werkzeug für Python-Entwickler aller Erfahrungsstufen, von Anfängern bis hin zu Experten. Wenn Sie Ihre Python-Reise fortsetzen, wird die Verwendung von virtuellen Umgebungen ein natürlicher Bestandteil Ihres Entwicklungsworkflows werden.



