Python

So verwalten Sie Python-Versionen und verwenden pyenv

In Python und Programmiersprachen gibt es viele Fälle, in denen Sie mehrere Versionen nebeneinander installieren müssen, um die Kompatibilität mit Bibliotheken, Frameworks und Abhängigkeiten zu gewährleisten, die Sie verwenden. Was in solchen Fällen genutzt werden kann, wird als 'Versionsverwaltungstool' oder 'Versionsmanager' bezeichnet, und für Python ist das 'pyenv'.

Shou Arisaka
3 Min. Lesezeit
8. Nov. 2025

<> In Python und Programmiersprachen gibt es viele Fälle, in denen Sie mehrere Versionen nebeneinander installieren müssen, um die Kompatibilität mit Bibliotheken, Frameworks und Abhängigkeiten zu gewährleisten, die Sie verwenden. Was in solchen Fällen genutzt werden kann, wird als “Versionsverwaltungstool” oder “Versionsmanager” bezeichnet, und für Python ist das “pyenv”. </>

Lassen Sie uns pyenv auf Ubuntu 16.04 installieren, um die Python-Versionsverwaltung zu ermöglichen. Es kann ähnlich auf Ubuntu 18.04 und WSL durchgeführt werden.

Installieren Sie es:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Fügen Sie zu ~/.bashrc hinzu:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

Hier ist ein Hinweis: Wie folgt, wenn echo $BASH_ENV ~/.bashrc ausgibt, scheint es besser zu sein, den obigen Code nicht zu /.bashrc hinzuzufügen. Fügen Sie ihn stattdessen zu /.bash_profile hinzu.

In meiner Umgebung habe ich ~/.bash_profile nicht erstellt, und BASH_ENV ist auch undefiniert, also habe ich es ignoriert und zu .bashrc hinzugefügt und verwende es, aber ich hatte keine Probleme.

General warning: There are some systems where the BASH_ENV variable is configured to point to .bashrc. On such systems you should almost certainly put the abovementioned line eval ”$(pyenv init -)” into .bash_profile, and not into .bashrc. Otherwise you may observe strange behaviour, such as pyenv getting into an infinite loop.

Neustart:

bash

Wie folgt, vor der Installation von Python mit pyenv heißt es, Abhängigkeitsprogramme zu installieren.

Install Python build dependencies before attempting to install a new Python version.

Diejenigen, die bereits eine Python-Umgebung haben, sollten in Ordnung sein, aber diejenigen, die Python selbst nicht installiert haben, sollten diese installieren. Ich habe es nicht tatsächlich überprüft, aber ich denke, dass das Ausführen von ungefähr folgendem Code in Ordnung sein sollte.

sudo apt-get install -y python3-pip python3-dev # for Python 3.n
pip3 install --upgrade pip

Sie können jede Version von Python wie folgt installieren:

Image

pyenv install 3.6.7
pyenv install 2.7.12

Geben Sie die zu verwendende Python-Version mit pyenv global an. Dies überschreibt automatisch die Befehle python und python3 mit pyenv.

$ pyenv global 2.7.12 3.6.7
$ pyenv versions
  system
* 2.7.12 (set by /Users/yyuu/.pyenv/version)
* 3.6.7 (set by /Users/yyuu/.pyenv/version)
$ python --version
Python 2.7.12
$ python2.7 --version
Python 2.7.12
$ python3.6 --version
Python 3.6.7

Befehle, die vor dem Ändern der Versionen mit pyenv fehlgeschlagen sind…

$ python3 --version
Python 3.5.2

$ epy 'regex_match("hoge","hoge")'
  File "/mnt/c/pg/epy.py", line 28
    if ( re.match(rf"{regex}", text, re.M) ) : return True
                            ^
SyntaxError: invalid syntax

Jetzt erfolgreich ohne Fehler.

Image

$ python3.6 --version
Python 3.6.7
$ python3 --version
Python 3.6.7
$ epy 'regex_match("hoge","hoge")'
$

Diesen Artikel teilen

Shou Arisaka 8. Nov. 2025

🔗 Links kopieren