
Share:
)
Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.
Ein umfassender Leitfaden für die Arbeit mit virtuellen Python-Umgebungen
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 mitpip
installieren, 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 virtualenv
kö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!