Reputation: 99959
Regarding pyenv: https://github.com/pyenv/pyenv
I have this:
$ pyenv global 2.7
$ python --version
Python 3.6.4
My pyenv version is:
pyenv 1.2.2
does anyone know the right way to set a python version for any particular shell (and child shells)?
Upvotes: 11
Views: 31814
Reputation: 1536
For MacOS I had to set the global version pyenv global 3.10.1
and then exec $SHELL
Upvotes: -2
Reputation: 4852
Just to elaborate on my comment, now that I have some time.
The docs describe the shell
command for this purpose, which you can run like so:
pyenv shell pypy-2.2.1
If you installed pyenv via Homebrew et al, that should work out of the box (it did for me). If not, the installation instructions detail a necessary step:
Add pyenv init to your shell to enable shims and autocompletion. Please make sure eval "$(pyenv init -)" is placed toward the end of the shell configuration file since it manipulates PATH during the initialization.
The specific command they suggest (for bash) is:
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
Then restart the shell.
There is some further caveats for specific shells listed on the installation instructions linked. Hope this helps.
Upvotes: 10