So aktivieren und deaktivieren Sie eine Python-Virtuelle Umgebung

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/NetworkingGroup(["Networking"]) python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/PythonStandardLibraryGroup -.-> python/os_system("Operating System and System") python/NetworkingGroup -.-> python/http_requests("HTTP Requests") subgraph Lab Skills python/using_packages -.-> lab-397940{{"So aktivieren und deaktivieren Sie eine Python-Virtuelle Umgebung"}} python/os_system -.-> lab-397940{{"So aktivieren und deaktivieren Sie eine Python-Virtuelle Umgebung"}} python/http_requests -.-> lab-397940{{"So aktivieren und deaktivieren Sie eine Python-Virtuelle Umgebung"}} end

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:

  1. Stellen Sie zunächst sicher, dass Sie sich im Projektverzeichnis befinden:

    mkdir -p ~/project/python_env_demo
    cd ~/project/python_env_demo
  2. Erstellen 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 myenv
  3. Lassen Sie uns untersuchen, was erstellt wurde:

    ls -la myenv

    Sie 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

  1. Stellen Sie sicher, dass Sie sich im Projektverzeichnis befinden:

    cd ~/project/python_env_demo
  2. Aktivieren Sie die virtuelle Umgebung, indem Sie folgenden Befehl ausführen:

    source myenv/bin/activate
  3. Beachten 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:

  1. Welcher Python-Interpreter verwendet wird:

    which python

    Sie sollten eine Ausgabe wie die folgende sehen:

    /home/labex/project/python_env_demo/myenv/bin/python

    Dies zeigt, dass der python-Befehl jetzt auf den Python-Interpreter in Ihrer virtuellen Umgebung zeigt, nicht auf den systemweiten.

  2. Welches pip (Python-Paketinstallationsprogramm) verwendet wird:

    which pip

    Sie sollten eine Ausgabe wie die folgende sehen:

    /home/labex/project/python_env_demo/myenv/bin/pip

    Dies bestätigt, dass Sie Pakete in Ihre virtuelle Umgebung installieren werden, nicht in die systemweite Python-Installation.

  3. Überprüfen Sie die Python-Version:

    python --version

    Die 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

  1. 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/activate
  2. Installieren wir ein einfaches Paket namens requests, das häufig für HTTP-Anfragen verwendet wird:

    pip install requests

    Sie werden eine Ausgabe sehen, die den Download- und Installationsprozess anzeigt.

  3. Überprüfen Sie, ob das Paket installiert wurde, indem Sie die Liste der installierten Pakete prüfen:

    pip list

    Sie sollten requests und 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:

  1. Öffnen Sie den Editor und erstellen Sie eine neue Datei namens test_requests.py im 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] + "...")
  2. Speichern Sie die Datei und führen Sie sie aus:

    python test_requests.py
    run test_requests.py
  3. 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

  1. Stellen Sie sicher, dass Ihre virtuelle Umgebung derzeit aktiviert ist. Am Anfang Ihres Befehlsprompts sollte (myenv) angezeigt werden.

  2. Um die virtuelle Umgebung zu deaktivieren, führen Sie einfach folgenden Befehl aus:

    deactivate
  3. Beachten 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:

  1. Prüfen Sie, welcher Python-Interpreter verwendet wird:

    which python3

    Sie sollten eine Ausgabe wie die folgende sehen:

    /usr/bin/python3

    Dies zeigt, dass der python3-Befehl jetzt auf den systemweiten Python-Interpreter zeigt.

  2. Versuchen Sie, das zuvor erstellte Skript auszuführen:

    python3 test_requests.py

    Je 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.