1. Was ist pyenv?
Für Python-Entwickler ist es oft notwendig, in verschiedenen Projekten unterschiedliche Python-Versionen zu verwenden. Hier kommt pyenv
ins Spiel. pyenv
ist ein Tool, mit dem Sie mehrere Python-Versionen verwalten und projektweise unkompliziert zwischen ihnen wechseln können.
Herausforderungen beim Python-Versionsmanagement
Im Laufe der Python-Entwicklung kann es erforderlich sein, verschiedene Versionen für unterschiedliche Projekte zu nutzen. Beispielsweise benötigt ein Projekt Python 3.9, während ein anderes auf Python 2.7 angewiesen ist. Normalerweise ist auf einem System nur eine Python-Version installiert, sodass das Umschalten mühsam sein kann. Genau dieses Problem löst pyenv
.
Vorteile von pyenv
Mit pyenv
profitieren Sie von folgenden Vorteilen:
- Einfache Versionsumschaltung: Mit
pyenv
können Sie sowohl systemweit als auch projektweise schnell zwischen Python-Versionen wechseln. - Verwaltung mehrerer Versionen: Installierte Python-Versionen lassen sich zentral über ein einziges Tool steuern. So können Sie Abhängigkeiten und Versionsunterschiede pro Projekt flexibel handhaben.
- Breite OS-Unterstützung (außer Windows): Funktioniert auf macOS, Linux und vielen anderen Betriebssystemen.
Wie funktioniert pyenv?
pyenv
erstellt für jede Python-Version ein eigenes Verzeichnis, in das die jeweilige Version installiert wird. Nutzer können mit den Befehlen pyenv global
und pyenv local
bestimmen, ob eine Version systemweit oder nur in einem bestimmten Projekt verwendet werden soll.

2. Installation von pyenv
Überblick
Um pyenv
zu nutzen, muss es zunächst installiert werden. In diesem Abschnitt wird die Installation unter macOS und Linux erklärt. Unter Windows wird pyenv
nicht nativ unterstützt – hier empfiehlt sich die Nutzung von WSL (Windows Subsystem for Linux) oder Alternativen wie Anaconda.
Installation unter macOS
Unter macOS können Sie pyenv
bequem mit Homebrew
installieren. Homebrew
ist ein Paketmanager für macOS, mit dem sich Software einfach installieren lässt. Befolgen Sie diese Schritte:
- Überprüfung, ob Homebrew installiert ist
Öffnen Sie das Terminal und führen Sie folgenden Befehl aus:
brew --version
Wenn eine Versionsnummer erscheint, ist Homebrew bereits installiert. Andernfalls folgen Sie den Anleitungen auf der offiziellen Homebrew-Seite.
- pyenv installieren
Wenn Homebrew verfügbar ist, installieren Siepyenv
mit:
brew install pyenv
Nach erfolgreicher Installation fahren Sie mit dem nächsten Schritt fort.
- Umgebungsvariablen konfigurieren
Damitpyenv
funktioniert, müssen Umgebungsvariablen gesetzt werden. Normalerweise geschieht das in.bash_profile
oder.zshrc
. Fügen Sie folgende Zeilen hinzu:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile
Wenn Sie .zshrc
verwenden, ergänzen Sie die Zeilen dort. Anschließend das Terminal neu starten oder ausführen:
source ~/.bash_profile
- Installation überprüfen
Führen Sie folgenden Befehl aus, um sicherzustellen, dasspyenv
korrekt installiert wurde:
pyenv --version
Wenn eine Versionsnummer angezeigt wird, ist die Installation erfolgreich.
Installation unter Linux
Auch unter Linux kann pyenv
ähnlich wie auf macOS installiert werden, jedoch werden hier Paketmanager wie apt
oder yum
genutzt. Im Folgenden ein Beispiel für Ubuntu:
- Benötigte Pakete installieren
Vor der Installation vonpyenv
müssen Abhängigkeiten installiert werden:
sudo apt update
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
- pyenv installieren
Klonen Sie das Repository mit Git und installieren Siepyenv
:
curl https://pyenv.run | bash
- Umgebungsvariablen konfigurieren
Fügen Sie folgende Zeilen in Ihre.bashrc
oder.zshrc
ein:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
Um die Änderungen zu übernehmen, starten Sie das Terminal neu oder führen Sie source ~/.bashrc
aus.
- Installation überprüfen
Mit folgendem Befehl überprüfen Sie die erfolgreiche Installation:
pyenv --version
Troubleshooting
Sollten während der Installation Fehler auftreten, fehlen häufig Abhängigkeiten. Besonders unter Linux können je nach Distribution unterschiedliche Bibliotheken erforderlich sein. Prüfen Sie die offizielle Dokumentation und installieren Sie die fehlenden Pakete.

3. Verwaltung von Python-Versionen
Nachdem pyenv
installiert ist, können Sie Python-Versionen verwalten, installieren und wechseln.
Installation von Python-Versionen
Mit pyenv
können Sie verschiedene Python-Versionen problemlos installieren. Zum Beispiel:
- Verfügbare Versionen anzeigen
Mit folgendem Befehl sehen Sie alle unterstützten Python-Versionen:
pyenv install --list
- Installation einer bestimmten Version
Beispielsweise Python 3.9.1:
pyenv install 3.9.1
Python-Versionen wechseln
pyenv
macht es leicht, zwischen installierten Versionen zu wechseln:
- Systemweite Version ändern:
pyenv global 3.9.1
- Projektbezogene Version ändern:
pyenv local 3.8.0
- Aktuelle Version anzeigen:
pyenv version
Python-Version deinstallieren
Falls eine Version nicht mehr benötigt wird:
pyenv uninstall 3.9.1

4. Verwendung von pyenv zusammen mit virtualenv
pyenv
erleichtert das Verwalten von Python-Versionen erheblich. Für ein noch effizienteres Abhängigkeitsmanagement empfiehlt sich jedoch die Kombination mit virtualenv
, einem Tool zum Erstellen isolierter virtueller Umgebungen.
Was ist virtualenv?
virtualenv
erstellt für jedes Projekt eine unabhängige Umgebung, in der Bibliotheken und Pakete isoliert sind. So können mehrere Projekte auf demselben System unterschiedliche Paketversionen nutzen, ohne Konflikte zu verursachen.
Beispiel: Projekt A nutzt requests
Version 2.0, während Projekt B Version 3.0 benötigt. Mit virtualenv
lassen sich beide Szenarien parallel betreiben.
Unterschied zwischen pyenv und virtualenv
pyenv
dient hauptsächlich zur Verwaltung verschiedener Python-Versionen, während virtualenv
die Bibliotheken und Abhängigkeiten in isolierten Umgebungen trennt.
Die Kombination beider Tools bringt folgende Vorteile:
- Mehrere Python-Versionen verwalten: Mit
pyenv
können Sie unterschiedliche Python-Versionen installieren und pro Projekt konfigurieren. - Abhängigkeiten projektweise trennen: Mit
virtualenv
verhindern Sie Versionskonflikte zwischen Projekten.
Installation von pyenv-virtualenv
Zusätzlich gibt es das Plugin pyenv-virtualenv
, das die Verwaltung von virtuellen Umgebungen noch einfacher macht.
- Installation
Unter macOS installieren Sie es über Homebrew:
brew install pyenv-virtualenv
Unter Linux installieren Sie es mit:
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
- Umgebungsvariablen konfigurieren
Fügen Sie folgende Zeilen zu Ihrer Shell-Konfiguration hinzu:
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
Virtuelle Umgebung erstellen
Mit pyenv-virtualenv
können Sie Umgebungen pro Python-Version anlegen. Beispiel für Python 3.8.0:
pyenv virtualenv 3.8.0 my_project_env
Damit wird eine virtuelle Umgebung my_project_env
auf Basis von Python 3.8.0 erstellt.
Virtuelle Umgebung aktivieren
Um die erstellte Umgebung in einem Projekt zu nutzen, führen Sie aus:
pyenv local my_project_env
Damit ist die Umgebung im aktuellen Projektordner aktiv.
Virtuelle Umgebung löschen
Wenn eine Umgebung nicht mehr benötigt wird:
pyenv uninstall my_project_env
Vorteile von virtualenv
Die Kombination von pyenv
und virtualenv
ermöglicht eine vollständige Trennung von Python-Versionen und Projekt-Abhängigkeiten. Das reduziert das Risiko von Konflikten und sorgt für eine stabile Entwicklungsumgebung.

5. Wichtige Hinweise bei der Nutzung von pyenv
Die Verwendung von pyenv
und virtualenv
macht das Management von Python-Versionen und -Umgebungen sehr effizient. Dennoch gibt es einige Stolperfallen und typische Probleme, die man kennen sollte.
1. Eingeschränkte Unterstützung unter Windows
pyenv
ist primär für macOS und Linux vorgesehen. Unter Windows gibt es keine direkte Unterstützung. Folgende Alternativen sind möglich:
- Windows Subsystem for Linux (WSL): Installieren Sie WSL, um eine Linux-Umgebung unter Windows zu nutzen und dort
pyenv
einzusetzen. - Anaconda: Als Alternative können Sie mit Anaconda mehrere Python-Versionen und virtuelle Umgebungen auch unter Windows verwalten.
2. Fehlende Abhängigkeiten
Unter Linux kann es vorkommen, dass Abhängigkeiten fehlen und Fehler beim Kompilieren auftreten.
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
Lösung:
- Installieren Sie die fehlenden Pakete (z. B.
libbz2-dev
,libssl-dev
) und führen Sie den Installationsbefehl erneut aus:
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev
3. Konflikte mit bestehender Python-Installation
Wenn bereits Python auf dem System installiert ist, kann es zu Konflikten mit pyenv
kommen – meist durch falsche PATH
-Konfigurationen.
Lösung:
- Stellen Sie sicher, dass in Ihrer
.bashrc
oder.zshrc
die folgenden Zeilen korrekt gesetzt sind:
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
4. Probleme bei der Installation bestimmter Versionen
Einige Python-Versionen lassen sich nicht installieren, wenn Build-Tools oder Bibliotheken fehlen.
Lösung:
- Installieren Sie die benötigten Pakete wie
build-essential
undlibssl-dev
und wiederholen Sie den Befehlpyenv install
.
5. Tippfehler bei Versionsangaben
Ein häufiger Fehler ist die Eingabe einer nicht existierenden Version.
Lösung:
- Überprüfen Sie mit
pyenv install --list
die verfügbaren Versionen, bevor Sie eine Installation starten.
6. Konflikte zwischen virtuellen Umgebungen
Wenn mehrere virtuelle Umgebungen dieselbe Python-Version verwenden, kann es zu Abhängigkeitskonflikten kommen.
Lösung:
- Erstellen Sie für jedes Projekt eine eigene virtuelle Umgebung, um Pakete strikt zu trennen.
6. Zusammenfassung und nächste Schritte
pyenv
ist ein äußerst nützliches und leistungsstarkes Tool für das Management von Python-Versionen. Besonders für Entwickler, die mit mehreren Projekten arbeiten und unterschiedliche Python-Versionen benötigen, erleichtert pyenv
den Versionswechsel erheblich. In Kombination mit virtualenv
können zusätzlich die Projektabhängigkeiten sauber getrennt werden.
Vorteile von pyenv im Überblick
- Einfache Versionsverwaltung: Mit
pyenv
lassen sich mehrere Python-Versionen systemweit oder pro Projekt unkompliziert wechseln. - Kombination mit virtuellen Umgebungen: Durch
pyenv-virtualenv
odervirtualenv
können Abhängigkeiten pro Projekt isoliert und effizient verwaltet werden. - Fehlerbehebung: Typische Probleme wie fehlende Bibliotheken oder Versionskonflikte lassen sich mit den richtigen Einstellungen und Paketen schnell lösen.
Nächste Schritte
- Effizienz weiter steigern: Nachdem Sie die Grundlagen von
pyenv
beherrschen, können Sie Tools wiepipenv
oderpoetry
in Betracht ziehen. Diese vereinfachen das Abhängigkeitsmanagement und automatisieren das Setup von Projekten. - Alternative Umgebungen prüfen: Windows-Nutzer können WSL einsetzen oder Alternativen wie Anaconda nutzen, da
pyenv
hier nicht nativ unterstützt wird. - Praktische Anwendung: Testen Sie
pyenv
direkt in Ihren Projekten. Erstellen Sie virtuelle Umgebungen und erleben Sie, wie reibungslos die Verwaltung von Python-Versionen und Bibliotheken funktioniert.
目次 1 1. はじめに1.1 Pythonバージョン管理の重要性1.2 Ubuntuとpyenvの組み合わせの利点2 …