pyenv

Wer sich für Python interessiert, kommt nicht darum herum auch mal unterschiedliche Python-Version einsetzen zu wollen. pyenv bietet eine einfache Möglichkeit, mehrere Python-Version zu verwalten, ist in wenigen Schritten eingerichtet und kann auch einfach wieder vom System entfernt werden. Ich hatte immer die Sorge, dass ich mir dadurch etwas “kaputt” mache, aber diese Sorge war vollkommen unbegründet. Jetzt bietet mir pyenv eine einfache Möglichkeit mehrere Python-Version einzusetzen und ich kann teilweise auf virtuelle Environments mit venv verzichten.

Der Einsatz der beiden Tools venv und pyenv schließt sich dabei nicht aus, sondern kann sich durchaus ergänzen. Während venv im erzeugten Verzeichnis die Python-Version des Systems über symbolische Links verknüpft, installiert pyenv Python in der gewünschten Version. In dem gewünschten Verzeichnis liegen dann keine Links, sondern die gewünschte Version. So kann man mit pyenv dann auch venvs anlegen.

Ich verwende für die Installation von pyenv 2.6.16 ein aktuelles Debian 13. Der folgende Befehl installiert dann pyenv in das ~/.pyenv-Verzeichnis.

curl -fsSL https://pyenv.run | bash

Anschließend aktiviert ihr in eurem Terminal pyenv mit folgenden Befehlen. Dabei wird die PYENV_ROOT Umgebungsvariable gesetzt, dann die PATH Umgebungsvariable, um den Pfad zu pyenv erweitert. Damit kann man dann pyenv einfach in der Kommandozeile eingeben kann. Der letzte Befehl aktiviert dann noch die Autovervollständigung von pyenv, damit ihr mit Tab + Tab nicht so viel tippen müsst. Diese drei Zeilen könnt ihr auch eurer ~/.bashrc hinzufügen und somit immer pyenv nutzen. Wenn ihr es aber nur mal kurz testen wollt, ist das nicht erforderlich.

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init - bash)"

Mit pyenv --version könnt ihr zunächst testen, ob die Installation erfolgreich war und die aktuelle pyenv-Version angezeigt wird. Anschließend installieren wir mit pyenv unsere gewünschte Python-Version. In meinem Beispiel ist das Python 3.14.2, da Debian 13 nur über Python 3.13.5 verfügt. Der Befehl dauert eine Weile.

pyenv install 3.14.2
# list all installed versions
pyenv versions
# list all available versions
pyenv install -l

Ihr könnt dann die neue Version aktivieren und verwenden, indem ihr folgenden Befehl nutzt. Solange ihr die drei Zeilen von oben nicht in eure ~/.bashrc geschrieben habt, könnt ihr auch einfach wieder zurückwechseln, indem ihr das Terminal neu startet.

pyenv global 3.14.2
python --version
# revert change
pyenv global system
python --version

Ab jetzt könnt ihr wie gewohnt mit einer anderen Python-Version arbeiten und könnt so beispielsweise prüfen, warum sich euer Programm sich in einer älteren/neueren Version anders als erwartet verhält. Wie immer hoffe ich, dass ich euch etwas weiterhelfen konnte. Über einen Kaffee ☕ freue ich mich natürlich immer, aber ihr könnt auch einfach ein netten Kommentar hinterlassen.


[1]: https://pyenv.net/

[2]: https://docs.python.org/3/library/venv.html