Python

So erstellen und verwalten Sie virtuelle Python-Umgebungen

So erstellen und verwalten Sie virtuelle Python-Umgebungen
Es kommt ziemlich häufig vor, dass Python-Entwickler Pakete aus Standard- und Nicht-Standardquellen installieren und aktualisieren, um Anwendungen zu entwickeln develop. Die Gründe können von der Verwendung einer neueren Version eines Moduls bis hin zur Verwendung einer bestimmten Version reichen, falls es zu einer Regression kommt.

Diese Anforderungen und Anwendungsfälle können schwierig zu handhaben sein, wenn verschiedene Anwendungen unterschiedliche Versionen derselben Bibliothek erfordern. Glücklicherweise bietet Python eine robuste Lösung, um Entwicklungsumgebungen mithilfe virtueller Umgebungen zu isolieren.

Was ist eine virtuelle Python-Umgebung??

Eine virtuelle Python-Umgebung ist ein eigenständiger Verzeichnisbaum, der eine bestimmte Python-Installation zusammen mit all ihren Standardbibliotheken enthält. Anwendungen, die eine bestimmte Version der Bibliothek erfordern, können in diesen virtuellen Umgebungen isoliert werden, ohne das System oder andere Python-Implementierungen zu verschmutzen. Jede virtuelle Umgebung ist eine separate Sandbox, sodass Sie so viele virtuelle Umgebungen erstellen können, wie Sie möchten.

Erstellen und Verwalten virtueller Umgebungen

Um virtuelle Umgebungen in Ubuntu zu erstellen, installieren Sie zuerst das erforderliche Abhängigkeitspaket, indem Sie den Befehl ausführen:

$ sudo apt install python3-venv

Sie können jetzt virtuelle Umgebungen erstellen, indem Sie den Befehl ausführen:

$ python3 -m venv myenv

Wenn Sie den obigen Befehl ausführen, wird eine virtuelle Umgebung namens „myenv“ in Ihrem Home-Verzeichnis erstellt. Wenn Sie eine andere Python-Version verwenden möchten, können Sie „python3“ oben durch den vollständigen Pfad zum Speicherort Ihrer alternativen Python-Binärdatei ersetzen.

Führen Sie den Befehl aus, um die oben erstellte benutzerdefinierte Umgebung zu aktivieren:

$ source myenv/bin/activate

Sobald die virtuelle Umgebung aktiviert ist, ändert sich die Shell-Eingabeaufforderung, um die aktuelle virtuelle Umgebung wiederzugeben, die Sie verwenden. Wenn Sie „sys“ ausführen.path“-Befehl im Python-Interpreter, können Sie sehen, dass die virtuelle Umgebung ordnungsgemäß funktioniert. Python sucht nun nach Paketen in der benutzerdefinierten Umgebung, die Sie gerade erstellt haben.

Wenn Ihre Shell-Eingabeaufforderung den Namen der virtuellen Umgebung nicht als Präfix anzeigt, verwendet jede von Ihnen ausgeführte Python-Datei stattdessen System-Python. Daher ist es notwendig, eine virtuelle Umgebung zu beziehen, bevor Sie eine Datei in Ihrer benutzerdefinierten Umgebung ausführen.

Sie können eine virtuelle Umgebung deaktivieren, indem Sie den folgenden Befehl ausführen:

$ deaktivieren

Jede virtuelle Python-Umgebung enthält ein "pyvenv".cfg“-Datei mit einem „include-system-site-packages“-Schlüssel, der standardmäßig auf „false“ gesetzt ist. Dieser Schlüssel teilt der virtuellen Umgebung mit, ob System-Site-Pakete verwendet werden sollen oder nicht. Wenn auf „true“ gesetzt, sucht Python in der virtuellen Umgebung nach Systempaketen, falls ein Paket in der virtuellen Umgebung nicht gefunden wird. Es macht auch alle auf dem System installierten Pakete innerhalb der virtuellen Umgebung importierbar.

Um eine virtuelle Umgebung zu löschen, müssen Sie nur das Verzeichnis der virtuellen Umgebung löschen und es ist weg.

Es ist möglich, virtualenv auf externen USB-Laufwerken zu erstellen und zu speichern. Sie benötigen ein im NTFS- oder EXT-Dateisystem formatiertes USB-Laufwerk. Das FAT32-Dateisystem unterstützt keine Symlinks, was eine Voraussetzung für das Funktionieren virtueller Umgebungen ist.

Verwenden von Pip Package Manager zum Installieren von Paketen in einer virtuellen Umgebung

In einer virtuellen Umgebung können Sie den pip-Paketmanager verwenden, um Pakete zu installieren, zu aktualisieren und zu deinstallieren. Es ist möglich, ein Paket herunterzustufen oder zu aktualisieren, indem Sie eine bestimmte Versionsnummer angeben.

Sie können ein Paket mit pip installieren, indem Sie den Befehl ausführen (ersetzen Sie pygame durch den gewünschten Paketnamen):

$ pip installieren pygame

Ein durchsuchbares Repository von Pip-Paketen finden Sie hier.

Um ein Paket zu deinstallieren, verwenden Sie den Befehl:

$ pip deinstallieren pygame

Führen Sie den Befehl aus, um alle Versionen eines Pakets anzuzeigen:

$ pip installieren pygame==

Um ein Downgrade oder Upgrade auf eine bestimmte Version durchzuführen, verwenden Sie den Befehl (ersetzen Sie „1.9.5" mit Ihrer gewünschten Versionsnummer):

$ pip install pygame==1.9.5

Führen Sie den folgenden Befehl aus, um ein Paket auf die neueste Version zu aktualisieren:

$ pip install --upgrade pygame

Führen Sie den Befehl aus, um alle in der virtuellen Umgebung installierten Pakete anzuzeigen:

$ Pip-Liste

Um eine Liste der installierten Pakete in virtualenv zu speichern, führen Sie den Befehl aus:

$ pip einfrieren > Anforderungen.TXT

Sie können die obigen "Anforderungen" verwenden.txt“-Datei, um Pakete in großen Mengen zu installieren. Ein Anwendungsfall besteht darin, eine vorhandene Umgebung zu duplizieren, indem alle Pakete von Grund auf neu installiert werden. Führen Sie den Befehl aus, um Pip-Pakete in großen Mengen zu installieren:

$ pip install -r Anforderungen.TXT

Verwenden virtueller Python-Umgebungen mit Nicht-Python-Anwendungen

Anwendungen, die in anderen Programmiersprachen geschrieben wurden, können in virtuellen Python-Umgebungen in einer Sandbox ausgeführt werden, solange pip oder ein anderer Python-Paketmanager Binärdateien und Pakete für diese alternativen Programmiersprachen/Frameworks bereitstellt.

Hier ist ein kleines Beispiel, das die Installation von Node erklärt.js in der virtuellen Python-Umgebung. Führen Sie die folgenden Befehle nacheinander aus:

$ python3 -m venv my_node_env
$ source my_node_env/bin/activate
$ pip Rad installieren
$ pip install nodeenv
$ nodeenv -p
$ nodeenv --version
$ Knoten --version

Sobald Sie fertig sind, haben Sie einen vollständig isolierten Knoten.js-Umgebung. Sie können beliebig viele virtuelle Umgebungen für verschiedene Node . erstellen.js-Anwendungen. Pakete, die über den npm-Paketmanager installiert werden, sind nur auf die aktivierte virtuelle Umgebung beschränkt.

Fazit

Das Erstellen einer virtuellen Python-Umgebung ist eine hervorragende Möglichkeit zur Containerisierung von Entwicklungsumgebungen. Jede virtuelle Umgebung hat ihre eigene Python-Binärdatei und ihre eigenen unabhängigen Pakete. Die Entwicklung mehrerer Python-Anwendungen auf demselben System kann Ihr Home- und Root-Verzeichnis schnell verschmutzen, und virtuelle Umgebungen machen es so einfach, sie zu warten.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...