Published May-13-2020
Install pyenv
and pyenv-virtualenv
thru Homebrew
~$ brew update
~$ brew install pyenv
~$ brew install pyenv-virtualenv
Add the following lines to the end of the .zshrc
file in your root directory (~
)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PIPENV_PYTHON="$PYENV_ROOT/shims/python"
plugin=(
pyenv
)
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Reload the .zshrc
file to apply the changes made
~$ source ~/.zshrc
See all available versions for pyenv
~$ pyenv install --list
Available versions:
2.1.3
2.2.3.
2.3.7
...
Install a Python version from the list above. Note that this may take some time to complete
~$ pyenv install 3.5.6
Check on the installed pyenv
Python versions
~$ pyenv versions
* system (set by /User/user/.pyenv/shims/version)
3.5.6
Switch the global Python to a specific version
~$ pyenv global 3.5.6
~$ python -V
Python 3.5.6
Switch back the global Python to the system version
~$ pyenv global system
~$ python -V
Python 3.7.7
You can also set a project-specific version of Python
~$ pyenv global system
~$
~$ mkdir project
~$ cd project
project$ pyenv local 3.5.6
project$ python -V
Python 3.5.6
project$ cd ..
~$ python -V
Python 3.7.7
Create a virtualenv for the Python version used for pyenv
~$ pyenv virtualenv 3.5.6 venv35
...
~$ pyenv activate venv35
(venv35) ~$ pyenv deactivate
~$
Check on the installed pyenv
virtualenvs
~$ pyenv virtualenvs
venv35 (created from /Users/mari/.pyenv/shims/versions/3.5.6)
For Zsh (https://github.com/pyenv/pyenv#basic-github-checkout), in my case installed pyenv with brew.
On a fresh install of mac os Monterey (12.0.1) linking shims was unsuccessful. The trick was to first run the command pyenv install, which apparently puts some things in order. You can then proceed with the following edit to your .zshrc file with no changes to .zprofile:
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
also see: