ali haider
ali haider

Reputation: 20242

pyenv does not change python version on mac

I installed pyenv on mac and have used the following commands to install the required python version:

pyenv install 3.8.0
pyenv global 3.8.0

I am using zsh and my zshrc file contains the following:

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

When I check the python version, I can still see the old system version i.e. 2.7.15 responded by the command:

python -V

Any thoughts on what I might be doing wrong?

I have tried bash as well. I did not see any pyenv references in my bashrc file.

Upvotes: 3

Views: 2488

Answers (2)

danielv123
danielv123

Reputation: 318

I've run into this same situation with my system version on Mac not updating after running the pyenv commands. This is what worked for me (you need to reset your shell and pyenv after setting the command):

pyenv global 3.7.4
eval "$(pyenv init -)"

Upvotes: 0

ddayan
ddayan

Reputation: 4142

Does it work if you restart your shell?

$ exec "$SHELL"

If yes then the problem is that zshenv is loaded too soon, you can add the following to .zprofile or .zshrc

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

Upvotes: 5

Related Questions