GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie mehrere Python-Versionen mit Pyenv unter Linux

Sie sind ein Programmierer, der Ihren Python-Code in mehreren verschiedenen Python-Umgebungen testen möchte. Was würdest du tun? Installieren Sie eine bestimmte Python-Version und testen Sie Ihren Code und deinstallieren Sie dann diese Version und installieren Sie erneut eine andere Version und einen anderen Testcode? Nein, warte! Es ist nicht unnötig. Lernen Sie Pyenv kennen , ein Befehlszeilendienstprogramm zum gleichzeitigen Verwalten mehrerer Python-Versionen. Es machte die Python-Versionsverwaltung einfacher als je zuvor. Es wird zum Installieren, Deinstallieren und Wechseln zu mehreren verschiedenen Versionen von Python verwendet.

Mit Pyenv können Sie die globale Python-Version pro Benutzer ändern, Unterstützung für Python-Versionen pro Projekt bereitstellen, die Python-Version mit einer Umgebungsvariablen überschreiben und Befehle aus mehreren Versionen von Python gleichzeitig suchen. Pyenv kann verwendet werden, um Ihren Code in mehreren Python-Umgebungen zu testen. In diesem Tutorial erfahren Sie, wie Sie Pyenv unter GNU/Linux installieren und verwenden.

Pyenv unter Linux installieren

Installieren Sie zunächst die folgenden Pakete, um die üblichen Build-Probleme zu vermeiden.

Für Debian-basierte Systeme:

$ sudo apt-get install -y make build-essential git libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

Für RPM-basierte Systeme:

$ sudo yum install zlib-devel bzip2 bzip2-devel git readline-devel sqlite sqlite-devel openssl-devel xz xz-devel

Für SUSE/openSUSE:

$ sudo zypper in zlib-devel bzip2 libbz2-devel git readline-devel sqlite3 sqlite3-devel libopenssl-devel xz xz-devel

Wir haben gerade die notwendigen Voraussetzungen installiert. Es ist Zeit, Pyenv zu installieren. Die offizielle und empfohlene Methode zur Installation von Pyenv ist die Verwendung des pyenv-installer-Skripts. Sie müssen lediglich den folgenden Befehl in Ihrer Shell ausführen, um pyenv.

zu installieren
$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

Am Ende der Installation werden Sie vom Installationsprogramm aufgefordert, Pyenv zu Ihrem PATH hinzuzufügen. In meinem Fall habe ich die folgenden Zeilen in meinem ~/.bash_profile hinzugefügt Datei.

 export PATH="/home/ostechnix/.pyenv/bin:$PATH"
 eval "$(pyenv init -)"
 eval "$(pyenv virtualenv-init -)"

Führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen.

$ source ~/.bash_profile

Pyenv ist einsatzbereit. Lassen Sie uns nun sehen, wie Sie verschiedene Python-Versionen mit Pyenv verwalten.

Mehrere Python-Versionen mit Pyenv unter Linux verwalten

Lassen Sie uns zunächst alle verfügbaren Versionen sehen. Führen Sie dazu einfach den folgenden Befehl aus:

$ pyenv install -l

Oder,

$ pyenv install --list

Sie sollten eine Ausgabe wie unten sehen.

Available versions:
 2.1.3
 2.2.3
 2.3.7
 2.4
 2.4.1
 .
 .
 .
 3.6.2
 3.6.3
 3.6.4
 3.7.0b1
 3.7-dev
 3.8-dev
[...]

So listen Sie die derzeit installierten Python-Versionen auf:

$ pyenv versions
* system (set by /home/ostechnix/.pyenv/version)

Standardmäßig verwendet Pyenv unser Systemstandard-Python. Hier * zeigt Standard an.

Python installieren

Angenommen, Sie benötigen die Versionen Python 2.7.14 und 3.6.4 auf Ihrem System.

Führen Sie dazu einfach Folgendes aus:

$ pyenv install 2.7.14

Um Python 3.6.4 zu installieren, führen Sie Folgendes aus:

$ pyenv install 3.6.4

Sie benötigen keine Sudo-Rechte. Alle Python-Versionen werden in einem separaten Verzeichnis im pyenv-Stammverzeichnis in Ihrem $HOME installiert. Das standardmäßige pyenv-Stammverzeichnis ist ~/.pyenv . Beispielsweise ist Python 2.7.14 unter /home/ostechnix/.pyenv/versions/2.7.14 installiert in meinem Fall.

$ ls /home/ostechnix/.pyenv/versions/
2.7.14 3.6.4

Listen Sie nun die installierten Python-Versionen auf.

$ pyenv versions
* system (set by /home/ostechnix/.pyenv/version)
 2.7.14
 3.6.4

Umschalten zwischen verschiedenen Python-Versionen

Wir können auf zwei Arten zu verschiedenen Pythons wechseln, global und lokal.

Lassen Sie uns die aktuelle globale Python-Version mit dem Befehl anzeigen:

$ pyenv global
system

Da sind keine. Mein System verwendet immer noch die Standard-Python des Systems. Wechseln wir zu einer anderen Python-Version, zum Beispiel 2.7.14 .

$ pyenv global 2.7.14

Überprüfen Sie nun die Standard-Python-Version:

$ pyenv versions
 system
* 2.7.14 (set by /home/ostechnix/.pyenv/version)
 3.6.4

Haben Sie den Stern (*) bemerkt? Ja, 2.7.14 ist unsere globale Standard-Python-Version.

Sie können auch mehrere Versionen gleichzeitig als globales Python angeben. Angenommen, Sie haben zwei Versionen von 2.7.14 und 3.6.4. Wenn Sie 2.7.14 gegenüber 3.6.4 bevorzugen, führen Sie einfach Folgendes aus:

$ pyenv global 2.7.14 3.6.4

Überprüfen Sie nun die globalen Versionen.

$ pyenv versions
 system
* 2.7.14 (set by /home/ostechnix/.pyenv/version)
* 3.6.4 (set by /home/ostechnix/.pyenv/version)

Jetzt sind 2.7.14 und 3.6.4 die globalen Standardversionen.

Wir können eine lokale anwendungsspezifische (pro Projekt) Python-Version festlegen, indem wir den Versionsnamen in eine .python-version schreiben Datei im aktuellen Verzeichnis. Bitte beachten Sie, dass die lokale Version die globale Version überschreibt und selbst durch Setzen der Umgebungsvariablen PYENV_VERSION oder mit dem Shell-Befehl pyenv überschrieben werden kann.

Wechseln Sie in Ihr Projektverzeichnis:

$ cd myproject/

Wechseln wir zu 3.6.4.

$ pyenv local 3.6.4

Überprüfen Sie die aktuelle lokale Python-Version.

$ pyenv versions
 system
 2.7.14
* 3.6.4 (set by /home/ostechnix/myproject/.python-version)

Virtuelle Umgebung einrichten

Gehen Sie wie folgt vor, um eine virtuelle Umgebung mit einer bestimmten Python-Version einzurichten:

$ pyenv virtualenv 3.6.4 myenv

Führen Sie Folgendes aus, um es global verfügbar zu machen:

$ pyenv global myenv
(myenv) [email protected]:~$

Sie befinden sich jetzt in Ihrer virtuellen Umgebung. Mach was du willst. Installieren, entfernen Sie Python-Anwendungen mit Pip und was nicht. Es gehört ganz dir.

Wenn Sie eine lokale virtuelle Umgebung (pro Verzeichnis) einrichten möchten:

CD in Ihr Projektverzeichnis und führen Sie Folgendes aus:

$ pyenv local mylocalenv

Um eine virtuelle Umgebung zu entfernen, tun Sie einfach:

$ pyenv uninstall myenv
pyenv-virtualenv: remove /home/ostechnix/.pyenv/versions/3.6.4/envs/myenv? y

Entfernen einer bestimmten Python-Version

So deinstallieren Sie eine bestimmte Python-Version, zum Beispiel 3.6.4:

$ pyenv uninstall 3.6.4

Alternativ entfernen Sie einfach das Verzeichnis der Version, die Sie entfernen möchten.

Überprüfen Sie die aktuell installierten Python-Versionen:

$ pyenv versions

Weitere Einzelheiten finden Sie im Hilfeabschnitt, indem Sie den folgenden Befehl ausführen:

$ pyenv

Überprüfen Sie auch „pyenv help “, um Informationen zu einem bestimmten Befehl zu erhalten. Beispielsweise können Sie die Informationen des "install"-Befehls wie folgt anzeigen.

$ pyenv help install

Und das ist alles. Wie Sie sehen, ist die Verwaltung mehrerer Python-Versionen ganz einfach! Wenn Sie ein Python-Programmierer sind, ist Pyenv ein unverzichtbares Tool, das Sie in Ihrem Arsenal behalten sollten.

Verwandte Lektüre:

  • SDKMAN - Ein CLI-Tool zur einfachen Verwaltung mehrerer Software Development Kits
  • So verwalten Sie mehrere Java-Versionen mit jEnv unter Linux

Linux
  1. Wie man unter Linux mit mehreren Java-Versionen arbeitet

  2. So installieren / wechseln Sie zwischen mehreren Java-Versionen mit SDKMAN

  3. Zwei Versionen von Python unter Linux. wie man 2.7 zum Standard macht

  4. So verwalten Sie Linux-Workstations mit Richtlinien

  5. Empfohlene Methode zum Installieren mehrerer Python-Versionen unter Ubuntu 20.04

So verwalten Sie Speicher unter Linux mit LVM

So verwalten Sie Ihre Passwörter mit Enpass unter Linux

So verwalten Sie mehrere Java-Versionen mit jEnv unter Linux

So verwalten Sie Nodejs-Versionen mit n in Linux

So verwalten Sie einen Linux-Server mit SSH aus der Ferne

So verwalten Sie Speicher mit GParted Linux