pyenv
https://github.com/pyenv/pyenv
Mit Pyenv können Sie mehrere Python-Versionen ohne sudo für einen einzelnen Benutzer verwalten, ähnlich wie mit Node.js NVM und Ruby RVM .
Installieren Sie Pyenv:
curl https://pyenv.run | bash
Dann ergänzen Sie Ihre .bashrc
:
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Finden Sie die zu installierende Python-Version:
pyenv install --list
Installieren Sie die gewünschte Python-Version:
# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make 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
# Build and install a Python version from source.
pyenv install 3.8.0
Liste der verfügbaren Python-Versionen:
pyenv versions
Wir haben nun:
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
Wählen Sie eine andere Python-Version:
pyenv global 3.8.0
python --version
python3 --version
Beide Ausgaben:
Python 3.8.0
Wir können nun fortfahren, Pakete normal zu installieren und zu verwenden:
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
Wir können bestätigen, dass alles lokal in unserer sauberen Umgebung installiert ist mit:
python -c 'import cowsay; print(cowsay.__file__)'
which cowsay
Pro Projektverwendung
Im vorherigen Abschnitt haben wir gesehen, wie pyenv in einem globalen Setup verwendet wird.
Normalerweise möchten Sie jedoch eine bestimmte Python- und Paketversion pro Projekt festlegen. So geht's.
Installieren Sie zunächst Ihre gewünschte Python-Version wie zuvor.
Stellen Sie dann in Ihrem Projektverzeichnis die gewünschte Python-Version ein mit:
pyenv local 3.8.0
Dadurch wird eine Datei erstellt, .python-version
die die Versionszeichenfolge enthält.
Und nun lassen Sie sich ein Paket lokal nur für unser Projekt zu installieren: TODO: Es gibt keine nette Art , wie es scheint: /programming/30407446/pyenv-choose-virtualenv-directory/59267972#59267972
Wenn jemand Ihr Projekt verwenden möchte, führt er Folgendes aus:
pyenv local
Dadurch wird die Python-Version auf die richtige eingestellt.
Verwandte Themen:
Getestet unter Ubuntu 18.04, pyenv 1.2.15.