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
$ 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