Setting global python version with pyenv is not working as expected
Asked Answered
H

2

11

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)?

Herr answered 30/4, 2018 at 21:56 Comment(4)
If I am not very mistaken you can just do pyenv shell X.XIonia
@patrick, I get pyenv: no such command shell'`Herr
According to the docs the shell command should be a thing. But note Note that you'll need pyenv's shell integration enabled (step 3 of the installation instructions) in order to use this command. Looks like that just requires adding pyenv init to your shellIonia
Can you post the output of the command echo $PATH?Germin
I
9

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

Notes:

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.

Ionia answered 1/5, 2018 at 13:38 Comment(1)
for zsh can we change .bash_profile to zsh_profile or zshrc ? any more changes needed here ?Conceivable
F
-2

For MacOS I had to set the global version pyenv global 3.10.1 and then exec $SHELL

Formfitting answered 27/12, 2021 at 0:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.