Published May-13-2020
Install pyenv and pyenv-virtualenv thru Homebrew
~$ brew update
~$ brew install pyenv
~$ brew install pyenv-virtualenvAdd 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 ~/.zshrcSee 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.6Check on the installed pyenv Python versions
~$ pyenv versions
* system (set by /User/user/.pyenv/shims/version)
3.5.6Switch the global Python to a specific version
~$ pyenv global 3.5.6
~$ python -V
Python 3.5.6Switch back the global Python to the system version
~$ pyenv global system
~$ python -V
Python 3.7.7You 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.7Create 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: