https://a.storyblok.com/f/270183/1368x665/4572455f49/python-virtual-environments.png

Ein umfassender Leitfaden für die Arbeit mit virtuellen Python-Umgebungen

Zuletzt aktualisiert am May 23, 2024

Lesedauer: 5 Minuten

Stellen Sie sich vor, Sie sind ein Chefkoch, der ein bestimmtes Gericht kennt, aber mit verschiedenen Zutaten oder Kochtechniken experimentieren möchte. Anstatt Ihr Originalrezept direkt zu ändern, erstellen Sie identische Kopien des Gerichts. Mit jeder Kopie können Sie neue Variationen ausprobieren, ohne das Originalrezept zu verändern. Auf diese Weise können Sie verschiedene Geschmacksrichtungen und Zubereitungsarten ausprobieren, ohne dass das Hauptgericht verändert werden muss. Virtuelle Umgebungen (in diesem Blog mit venv abgekürzt) sind so, als hätte man als Koch mehrere Versionen desselben Gerichts.

In diesem Blog erfahren Sie mehr über virtuelle Python-Umgebungen und wie Sie mit ihnen arbeiten können.

Was ist eine virtuelle Python-Umgebung?

Eine virtuelle Python-Umgebung ist eine in sich geschlossene Python-Umgebung, die eine bestimmte Python-Interpreter-Version und die damit verbundenen Abhängigkeiten enthält.

Diese Umgebungen bieten isolierte Kopien Ihrer Python-Umgebung, so dass Sie verschiedene Pakete installieren und testen können, ohne Ihre globale Python-Umgebung zu beeinträchtigen. Wenn Sie eine virtuelle Umgebung aktivieren, haben der Python-Interpreter und die Pakete, die in dieser Umgebung installiert sind, Vorrang vor der globalen Python-Installation und anderen Umgebungen. Auf diese Weise verwendet Ihr Projekt automatisch die richtigen Versionen der Abhängigkeiten.

Warum brauchen Sie virtuelle Umgebungen?

Die Installation von Paketen mit pip in einer virtuellen Umgebung ist die beste Methode, um eine saubere globale Umgebung zu erhalten und versehentliche Änderungen an systemweiten Paketen zu verhindern. Außerdem gibt es einige Szenarien, in denen die Verwendung virtueller Umgebungen von Vorteil sein kann:

  • Wenn mehrere Projekte unterschiedliche Paketversionen verwenden, helfen virtuelle Umgebungen bei der Python-Entwicklung, Abhängigkeiten getrennt zu verwalten und Konflikte zwischen Projektanforderungen zu vermeiden.

  • Sie sind auch hilfreich, um isolierte Testumgebungen zu erstellen, die es Ihnen ermöglichen, spezifische Abhängigkeiten für das Testen neuer Pakete einzurichten, ohne die Haupt-Python-Einrichtung zu beeinflussen.

Verwendung von Tools zum Erstellen und Aktivieren einer virtuellen Umgebung

Es gibt verschiedene Tools, mit denen Sie virtuelle Umgebungen erstellen können, z. B. Conda, Pipenv, Poesieund mehr. Zwei beliebte Seiten sind virtualvenv und venv.

Virtualenv verwenden

virtualenv ist ein Drittanbieter-Tool, das besonders für die Verwaltung von Umgebungen mit neuen und älteren Python-Versionen nützlich ist. Der Hauptunterschied zu venv ist, dass virtualenv flexibler und anpassbarer ist, so dass Sie damit virtuelle Umgebungen mit bestimmten Python-Versionen, benutzerdefinierten Paketverzeichnissen und mehr erstellen können. Hier sind einige Beispiele für die Verwendung von virtualenv.

  • Einrichtung:

    • Stellen Sie zunächst sicher, dass Sie Python auf Ihrem System installiert haben.

    • Installieren Sie virtualenv mit pip:

pip install virtualenv

  • Eine Umgebung schaffen:

    • Navigieren Sie im Terminal zu Ihrem Projektverzeichnis.

    • Erstellen Sie eine neue virtuelle Umgebung mit virtualenv:

virtualenv myenv

Ersetzen Sie myenv durch den gewünschten Umgebungsnamen.

  • Freischaltung:

    • Unter Windows:

myenv\Scripts\activate

  • Unter Unix oder MacOS:

source myenv/bin/activate

In der Befehlszeile sollte nun die aktive virtuelle Umgebung angezeigt werden.

  • Pakete innerhalb der virtuellen Umgebung installieren

 pip install package_name

  • Deaktivierung:

    • Verwenden Sie einfach den deactivate Befehl:

deactivate

Damit kehren Sie zur globalen Python-Umgebung zurück.

Wenn Sie diese Schritte befolgen, können Sie effektiv virtualenv verwenden, um Ihre Python-Projekte in isolierten Umgebungen zu verwalten.

Verwendung von venv

venv ist ein Modul, das in Python 3 integriert ist und am besten zur Erstellung von leichtgewichtigen virtuellen Umgebungen verwendet wird. Es erstellt isolierte Umgebungen, die ihren eigenen Python-Interpreter, Paketverzeichnisse und Umgebungsvariablen haben. Folgen Sie den folgenden Befehlen, um es zu verwenden venv:

  • Schaffung einer virtuellen Umgebung

    • Navigieren Sie im Terminal zu Ihrem Projektverzeichnis.

    • Erstellen Sie eine neue virtuelle Umgebung mit venv:

python -m venv myenv

Ersetzen Sie myenv durch den gewünschten Umgebungsnamen.

  • Freischaltung

    • Unter Windows:

myenv\Scripts\activate.bat

  • Unter Unix oder MacOS: bash source myenv/bin/activate Nach der Aktivierung können Sie innerhalb der aktiven virtuellen Umgebungen wie in einer normalen Python-Umgebung arbeiten. Sie können Pakete installieren mit pipinstallieren, Python-Skripte ausführen und Abhängigkeiten verwalten.

  • Pakete innerhalb der virtuellen Umgebung installieren

 pip install package_name

  • Deaktivierung:

  • Verwenden Sie einfach den deactivate Befehl:

deactivate
  • Damit kehren Sie zur globalen Python-Umgebung zurück.

Erstellen von virtuellen Umgebungen für zwei verschiedene Projekte

Stellen Sie sich vor, Sie bauen zwei Projekte mit Vonage, von denen jedes eine andere Version von Flask benötigt. Wenn Sie Flask nur auf der globalen Python Ihres Betriebssystems installiert haben, können Sie nicht zwei Versionen desselben Pakets verwenden. Um dieses Problem zu lösen, erstellen Sie für jedes Projekt eine virtuelle Umgebung, indem Sie die folgenden Schritte ausführen:

1. Erstellen Sie die virtuelle Umgebung für das erste Projekt:

  • Unter Unix/macOS und Windows:

  python3 -m venv project1_venv

2. Aktivieren Sie die virtuelle Umgebung des ersten Projekts:

  • Unter Unix/macOS:

source project1_venv/bin/activate
  • Unter Windows:

project1_venv\Scripts\activate

3) (Optional) Setzen Sie Umgebungsvariablen (z. B. für Flask und Vonage):

  • Unter Unix/macOS:

export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
  • Unter Windows:

set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret

4. Installieren Sie Flask (z.B. Version 1.1.2) und Vonage für das erste Projekt:

Unter Unix/macOS und Windows:

pip install Flask==1.1. vonage

5. Installierte Pakete auflisten

pip list

6. Erstellen Sie die virtuelle Umgebung für das zweite Projekt:

  • Unter Unix/macOS und Windows:

python -m venv project2_venv

7. Aktivieren Sie die virtuelle Umgebung des zweiten Projekts

  • Unter Unix/macOS:

source project2_venv/bin/activate
  • Unter Windows:

project2_venv\Scripts\activate

8. (Optional) Setzen Sie Umgebungsvariablen (z. B. für Flask und Vonage):

  • Unter Unix/macOS:

export FLASK_APP=app.py
export VONAGE_API_KEY=your_api_key
export VONAGE_API_SECRET=your_api_secret
  • Unter Windows:

set FLASK_APP=app.py
set VONAGE_API_KEY=your_api_key
set VONAGE_API_SECRET=your_api_secret

9. Installieren Sie eine andere Version von Flask (z. B. Version 2.0.1) und Vonage für das zweite Projekt

  • Unter Unix/macOS und Windows:

pip install Flask==2.0.1 vonage

10. Installierte Pakete auflisten

  • Unter Unix/macOS:

pip list

  • Unter Windows:

pip list

11. Überprüfen Sie die Versionen von Flask und Vonage:

  • Unter Unix/macOS und Windows:

flask --version
vonage --version

Wie man das "Aber auf meinem Rechner funktioniert es" Problem vermeidet

Angenommen, Sie haben mit Vonage eine fantastische Anwendung entwickelt, die andere auf ihren eigenen Rechnern nachbauen wollen. Nachdem Sie Vonage, Flask und andere Abhängigkeiten in Ihrer virtuellen Umgebung eingerichtet haben, frieren Sie die Abhängigkeiten in einer requirements.txt Datei:

pip freeze > requirements.txt

Als nächstes geben Sie Ihr Projekt frei und binden die requirements.txt Datei in das Repository ein. Die anderen Personen können dann Ihre Umgebung nachbilden, indem sie Ihr Repository klonen und eine virtuelle Umgebung in ihrem eigenen Projektverzeichnis erstellen, indem sie es ausführen:

python -m venv venv
source venv/bin/activate  # On macOS/Linux
venv\Scripts\activate      # On Windows

Schließlich installieren sie die Abhängigkeiten aus der Datei requirements.txt, indem sie diese ausführen:

pip install -r requirements.txt

So deaktivieren Sie die virtuelle Umgebung

Wenn Sie mit der Arbeit in einer virtuellen Umgebung fertig sind, können Sie sie deaktivieren. Geben Sie deactivate in Ihr Terminal oder Ihre Eingabeaufforderung ein und drücken Sie die Eingabetaste. Mit diesem Befehl wird die derzeit aktive virtuelle Umgebung deaktiviert und Ihre Shell-Sitzung auf die globale Python-Umgebung zurückgesetzt.

deactivate

Zusammengefasst

Virtuelle Python-Umgebungen sind für Python-Entwickler von unschätzbarem Wert. Sie bieten die Möglichkeit, isolierte Umgebungen für verschiedene Projekte mit spezifischen Abhängigkeiten und Konfigurationen zu erstellen. Sie funktionieren wie separate Küchen für Köche und ermöglichen Experimente und Anpassungen, ohne das Hauptrezept zu beeinträchtigen. Wenn Sie sich an bewährte Verfahren halten und ein Python-Modul wie venv oder virtualenvkönnen Sie Abhängigkeiten einfach verwalten, Konflikte vermeiden und saubere Projektkonfigurationen beibehalten. Ganz gleich, ob Sie an mehreren Projekten mit unterschiedlichen Anforderungen arbeiten oder neue Pakete und Konfigurationen testen, virtuelle Umgebungen bieten die Flexibilität und Konsistenz, die für effektive Python-Entwicklungsabläufe erforderlich sind.

Zusätzliche Ressourcen

Mach mit bei der Party

Wenn Ihnen dieser Blog gefallen hat (oder Sie ihn gehasst haben), lassen Sie es mich bitte wissen! Folgen Sie dem Vonage Developer Experience Team auf X, früher bekannt als Twitter, oder treten Sie der Vonage Gemeinschaft Slack Kanal. Wenn Sie virtuelle Umgebungen in Ihrer Python-Anwendung verwenden, teilen Sie bitte Ihre Erfahrungen mit und taggen Sie mich - Ich würde gerne hören, was Sie sich ausgedacht haben!

Share:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamAdvokat für Entwickler

Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.