pyenv: Simple Python Version Management
https://github.com/pyenv/pyenv| Installer Source| Releases (json) (tab)
pyenv: Simple Python Version Management
https://github.com/pyenv/pyenv| Installer Source| Releases (json) (tab)
To update run pyenv update
.
Install Xcode tools first:
xcode-select --install
Make sure that you already have the necessary build tools installed:
# required
sudo apt update
sudo apt install -y build-essential zlib1g-dev libssl-dev \
libreadline-dev liblzma-dev
# recommended
sudo apt install -y libsqlite3-dev libffi-dev libbz2-dev
sudo apk add \
bash \
build-base \
git \
zlib-dev
pyenv
lets you install and switch between different versions ofpython
as the logged in user. It doesn't require admin permissions, and doesn't interfere with your system version of python.
Be sure to follow the onscreen instructions after the install (and the pre-requisites above).
Here's how you can check for the latest version:
pyenv install --list | grep -E '^\s+[0-9.]+$' | tail -n 1
#> 3.10.7
And install it:
pyenv install -v 3.10.7
#> Installed Python-3.10.7 to ~/.pyenv/versions/3.10.7
And use it:
pyenv global 3.10.7
python --version
#> Python 3.10.7
Revert back to your system python:
pyenv global system
virtualenv
sThese are the files / directories that are created and/or modified with this install:
~/.config/envman/PATH.env
~/.pyenv/bin/
~/.pyenv/shims/
# pyenv also loads shell hooks via
~/.bashrc
~/.config/fish/config.fish
~/.zshrc
pyenv install --list
3.10.7
activepython-3.6.0
anaconda3-2020.11
graalpython-20.3.0
ironpython-2.7.7
jython-2.7.2
micropython-1.13
miniforge3-4.9.2
pypy3.7-7.3.3
pyston-0.6.1
stackless-3.7.5
pyenv install <version>
pyenv rehash
List installed versions:
pyenv versions
Pin an application to a specific Python version:
pyenv local 2.7.6
Unset the local version:
pyenv local --unset
(setting the version works per-folder)
pyenv virtualenvs
From current version with name "venv35":
pyenv virtualenv venv35
From version 2.7.10 with name "venv27":
pyenv virtualenv 2.7.10
venv27
pyenv activate <name>
pyenv deactivate
pyenv uninstall venv27