Python Pyenv¶
pyenv
Commands¶
Command | Detail |
---|---|
pyenv install --list |
display the list of python versions available to be installed via pyenv |
pyenv install 3.6.3 |
install a python interpreter |
pyenv uninstall 3.6.3 |
uninstall a python interpreter |
pyenv rehash |
Installs shims for all Python binaries known to pyenv (i.e., ~/.pyenv/versions//bin/). |
(note on rehash) | Run this command after you install a new version of Python, or install a package that provides binaries. |
pyenv version |
Displays the currently active Python version, along with information on how it was set. |
pyenv versions |
Lists all Python versions known to pyenv, and shows an asterisk next to the currently active version. |
pyenv which |
Displays the full path to the executable that pyenv will invoke when you run the given command. |
pyenv whence |
Lists all Python versions with the given command installed. |
pyenv-virtualenv
commands¶
Command | Detail |
---|---|
pyenv virtualenv 3.7.0 my-new-env |
create a new virtualenv called 'my-new-env' using python 3.7.0 |
pyenv virtualenvs |
list existing virtualenvs |
pyenv activate <name> |
activate virtualenv |
pyenv deactivate |
deactivate virtualenv |
pyenv uninstall my-virtual-env |
delete/remove the virtualenv |
(note on deletion) | deleting the directory also removes the virtualenv |
Notes on errors¶
Upon installing a new python version (e.g. after I installed python 3.8.0 while I already had 3.7.0 installed), the ssl module might be 'disconnected'. I solved this by doing the following :
-
First uninstall the previous python (no need to uninstall virtualenvs that use it) :
pyenv uninstall 3.7.0
-
And after that, re-install it:
pyenv install 3.7.0
Tested by activating the virtualenvs that rely on 3.7.0 and running pip list
(which requires ssl) and it worked.
Reference URLs:
URLs¶
- Github Page: GitHub - pyenv/pyenv: Simple Python version management
- Command reference: pyenv/COMMANDS.md at master · pyenv/pyenv · GitHub
- pyenv-virtualenv: GitHub - pyenv/pyenv-virtualenv: a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv)