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
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