Virtuelle Umgebungen in Python auflisten
Eine virtuelle Umgebung ist eine Umgebung, in der wir Bibliotheken, Pakete, Skripte und einen Python-Interpreter installieren können. Wenn Ihre Projekte verschiedene Versionen verschiedener Bibliotheken oder Python-Interpreter erfordern, können Sie für jedes Projekt separate virtuelle Umgebungen erstellen.
Diese virtuellen Umgebungen isolieren sich von anderen virtuellen Umgebungen, die sich entwickelt haben. Daher treten die Fehler in Bezug auf Versionen von Bibliotheken, Paketen und anderen nicht auf.
Nehmen wir zum Beispiel an, Sie arbeiten an einem Python-Projekt namens Project1
. Es erfordert Version A
der NumPy
-Bibliothek.
Während Sie an Projekt1
arbeiten, möchten Sie Projekt2
starten. Aber es erfordert Version B
von NumPy
.
Wenn wir also NumPy
auf Version B
upgraden/downgraden, könnte Project1
einige Fehler ausgeben, da sich die benötigte Version für NumPy
geändert hat.
Um dies zu überwinden, können wir zwei virtuelle Umgebungen erstellen und diese Versionen separat darin installieren. Es gibt mehrere Methoden zum Erstellen virtueller Umgebungen, aber in diesem Artikel werden Ansätze zum Auflisten der virtuellen Umgebungen erörtert.
Virtuelle Umgebungen in Python auflisten
Wenn wir virtuelle Umgebungen haben und alle unsere virtuellen Umgebungen auflisten möchten, können wir sie mit mehreren Befehlen auflisten. Es ist nicht erforderlich, die virtuelle Umgebung zu aktivieren, um sie aufzulisten.
Einmal erstellt, können wir sie auflisten. In diesem Artikel diskutieren wir drei Methoden.
Verwenden Sie den Befehl lsvirtualenv
Wir können den Befehl lsvirtualenv
verwenden, um vorhandene virtuelle Umgebungen aufzulisten. Um diesen Befehl zu verwenden, müssen wir virtualenvwrapper
installieren.
Der virtualenvwrapper
ist ein Tool, mit dem wir virtuelle Umgebungen verpacken/boxen können. Es wirkt fast wie ein Container.
Das System erkennt den Befehl nicht, wenn dieses Tool nicht installiert ist.
Um virtuelle Umgebungen aufzulisten, müssen wir sie erstellen. Lassen Sie uns also mit dem Tool virtualenv
eine virtuelle Umgebung erstellen.
Das virtualenv
ist ein Werkzeug, mit dem wir virtuelle Python-Umgebungen erstellen können, die voneinander isoliert sind. Es gibt verschiedene Methoden, um virtuelle Umgebungen zu erstellen, aber verwenden wir für diese Methode das Tool virtualenv
.
Installation des Tools virtualenv
(nur wenn Sie es nicht installiert haben):
$ pip install virtualenv
Erstellen einer virtuellen Umgebung:
Syntax:
virtualenv <environment_name>
Lassen Sie uns nun vEnv1
als unsere virtuelle Umgebung erstellen.
Sie haben erfolgreich eine virtuelle Umgebung erstellt. Sie können den Pfad für Ihren virtuellen Umgebungsordner überprüfen, der primäre ausführbare Dateien zum Ausführen eines Python-Projekts enthält.
Installation des Tools virtualenvwrapper
(nur wenn Sie es nicht installiert haben):
$ pip install virtualenvwrapper
Virtuelle Umgebungen auflisten:
$ lsvirtualenv
Jetzt können wir die von uns erstellte virtuelle Umgebung sehen.
Ausgang:
Manchmal erhalten Sie die Meldung Datei nicht gefunden
oder ein leeres Feld. Sie sollten den Pfad WORKON_HOME
in Ihr aktuelles Verzeichnis der virtuellen Umgebung ändern.
Der Standardpfad für WORKON_HOME
ist \Users\%USERNAME%\Envs
. Wenn wir also den Befehl lsvirtualenv
ausführen, überprüft er den Pfad, um die virtuellen Umgebungen aufzulisten.
Wenn Sie Ihre virtuelle Umgebung woanders erstellt haben, können Sie die Liste nicht abrufen, und Sie müssten diesen Pfad auf die Variable WORKON_HOME
setzen.
- Gehen Sie in Ihrem System zu
Umgebungsvariablen
. - Klicken Sie unter
Systemvariablen
auf die SchaltflächeNeu
. - Fügen Sie
WORKON_HOME
als Variable und Ihren Pfad zum Stammverzeichnis der virtuellen Umgebung als Wert hinzu. - Klicken Sie auf
OK
.
Wenn Sie jetzt den Befehl lsvirtualenv
ausprobieren, können Sie eine Liste der virtuellen Umgebungen sehen, in denen Sie sie erstellt haben.
Verwenden Sie den Befehl Conda
Conda
ist ein Umgebungsverwaltungssystem, das mit Anaconda geliefert wird, und Anaconda ist eine Python-Distribution, die für datenwissenschaftliche Berechnungen und Paketverwaltung verwendet wird. Conda
verfügt über mehrere Befehle zum Erstellen, Entfernen und Auflisten virtueller Umgebungen.
Wenn wir unsere virtuellen Umgebungen mit conda
erstellen, sollten wir sie mit dem Befehl conda
auflisten.
Lassen Sie uns mit conda
zwei virtuelle Umgebungen erstellen.
Syntax:
conda create --name <environment_name>
Erstellen von zwei virtuellen Umgebungen:
$ conda create --name vEnv2
$ conda create --name vEnv3
Jetzt können wir sie auflisten. Conda
bietet drei Befehle zum Auflisten virtueller Umgebungen. Jede davon wird Ihnen das gleiche Ergebnis liefern.
$ conda env list
$ conda info --envs
$ conda info -e
Verwenden wir den ersten Befehl, conda env list
. Als Ergebnis werden die von uns erstellten virtuellen Umgebungen wie unten angezeigt.
Verwenden Sie den Befehl workon
Wir müssen das Tool virtualenv
installieren, um diesen Befehl verwenden zu können. Wie bereits erwähnt, kann es zum Erstellen virtueller Umgebungen verwendet werden, und der Befehl workon
wird mitgeliefert.
Wir verwenden den Befehl workon
, um eine virtuelle Umgebung zu aktivieren. Außerdem kann die Verwendung dieses Befehls ohne Argumente eine Liste virtueller Umgebungen abrufen.
Da wir zuvor mit dem Befehl virtualenv
eine virtuelle Umgebung erstellt haben, versuchen wir, sie mit dem Befehl workon
aufzulisten.
$ workon
Jetzt können wir die von uns erstellte virtuelle Umgebung sehen.
Abschluss
Dieser Artikel behandelt eine virtuelle Umgebung und drei Methoden zum Auflisten virtueller Umgebungen in Python. Sie können andere Methoden verwenden, aber die Entwickler verwenden häufig die besprochenen Techniken.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.