I experience a following contradictory problem with pyenv:
$ pyenv global python2.7.10
pyenv: version `python2.7.10' not installed
$ pyenv install 2.7.10
pyenv: /Users/xeli/.pyenv/versions/2.7.10 already exists
continue with installation? (y/N)
Also:
$ python2.7
pyenv: python2.7: command not found
The `python2.7' command exists in these Python versions:
2.7.10
The shims are on the PATH as required:
$ echo $PATH
/Users/xeli/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
Nothing suspicious in the shims directory:
$ ls ~/.pyenv/shims | grep python2
ipython2
python2
python2-config
python2.6
python2.6-config
python2.7
python2.7-config
In my .profile
I have:
export PYENV_ROOT=~/.pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
Therefore pyenv should be initialized at startup.
I cannot figure out how to solve this. Any ideas?
You can then use pyenv to switch to the specific python version you want to use (globally or locally). Pyenv does this by adding a shim to your $PATH which directs all python and python related tools like pip and easy_install to /. pyenv/shims/python, from here pyenv manages the various versions for us.
pyenv
seems to require explicit .python-version
file to be set in the current directory for any other version than the default in .pyenv/version
. This is explained in a closed GitHub issue.
The problem is fixed by creating .python-version
file. This is done automatically for example by $ pyenv local 2.7.10
.
The initial problem therefore is in the poor error message. I created a new issue to fix it.
Short answer — all you need to do is:
pyenv global 2.7.10
pyenv’s name for the Python 2.7.10 interpreter version is just 2.7.10
, not python2.7.10
. You can get a list of all your installed versions with:
pyenv versions
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With