Managing multiple versions of Python with pyenv and pipenv

Introduction

Introduction

pyenv (and pyenv-virtualenv and pyenv-virtualenvwrapper)

pyenv-virtualenv allows use of virtualenv and pyenv

eg can run

pyenv install 2.7.15
pyenv uninstall 2.7.15

to list installed versions

pyenv versions

switch to version:

pyenv global 2.7.15
pyenv local 2.7.15
pyenv shell 2.7.15

restore:

pyenv global system

now python/pip will use the python version in question

pipenv

basically integrates adn replaces pip and venv

uses Pipfile

automatically creates virtual environments

pipenv install pandas

automatically works with Pipfile and creates if needed

pipenv uninstall pandas
pipenv run python main.py

update lock file

pipenv lock

install from lock

pipenv sync

does lock and sync

pipenv update

spawns shell in environment. exit with exit()

pipenv shell

see dependency graph

pipenv graph