DEV Community

Cover image for Pyenv to handle different versions of Python
Jérôme Dx
Jérôme Dx

Posted on • Edited on

3

Pyenv to handle different versions of Python

You may need to use different versions of Python on your computer, to make some programs work.

Today, I will explain how to use Pyenv, a software that lets you manage all available python versions on your computer.

First, install the binary :

brew install pyenv
pyenv --help
Enter fullscreen mode Exit fullscreen mode

Make sure you have all the recommended packages in your environment.
If necessary, the most frequent cases of installation problems are listed here.

Add Pyenv to your path :

# pyenv init
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Restart your shell for the changes to take effect.
Enter fullscreen mode Exit fullscreen mode

You can list the available versions of Python available for installation :

pyenv install -l
pyenv install -l | less
Enter fullscreen mode Exit fullscreen mode

Note that you will find versions packaged with Anaconda, Minicoda, Miniforge, Pypy, etc. The first versions of the list are not affected by any particular packages.

Install Python 2.7 and select it

pyenv install 2.7.18
pyenv global 2.7.18
which python
python -V
pip -V
Enter fullscreen mode Exit fullscreen mode

Install Python 3 and select it

pyenv install 3.11.4
pyenv global 3.11.4
which python
python -V
pip -V
Enter fullscreen mode Exit fullscreen mode

You can list the versions you have already installed and which version is currently selected :

pyenv versions
Enter fullscreen mode Exit fullscreen mode

With Pyenv, you can easily install and manage specific versions of Python directly on your computer.

There are similar tools that I commonly use for Terraform (tfenv) and NodeJS (nvm), this could be the subject of a future article of the same type.

You can also see how to use the virtual environments in addition, to manage different versions of packages for your different projects.

Image of Docusign

Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more