Как разрешить pyenv находить установленные версии Python

У меня возникла следующая противоречивая проблема с 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) 

Также:

$ python2.7
pyenv: python2.7: command not found

The `python2.7' command exists in these Python versions:
  2.7.10

Прокладки находятся в ПУТИ по мере необходимости:

$ echo $PATH
/Users/xeli/.pyenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

Ничего подозрительного в каталоге shims:

$ ls ~/.pyenv/shims | grep python2
ipython2
python2
python2-config
python2.6
python2.6-config
python2.7
python2.7-config

В моем .profile у меня есть:

export PYENV_ROOT=~/.pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

Поэтому pyenv следует инициализировать при запуске.

Я не могу понять, как это решить. Любые идеи?


person Akseli Palén    schedule 01.04.2016    source источник


Ответы (2)


pyenv, по-видимому, требует явной установки файла .python-version в текущем каталоге для любой другой версии, кроме версии по умолчанию в .pyenv/version. Это объясняется в закрытой проблеме GitHub.

Проблема решается созданием файла .python-version. Это делается автоматически, например, $ pyenv local 2.7.10.

Таким образом, первоначальная проблема заключается в плохом сообщении об ошибке. Я создал новую проблему, чтобы исправить ее.

person Akseli Palén    schedule 01.04.2016

Краткий ответ — все, что вам нужно сделать, это:

pyenv global 2.7.10

имя pyenv для версии интерпретатора Python 2.7.10 — просто 2.7.10, а не python2.7.10. Вы можете получить список всех установленных версий с помощью:

pyenv versions
person wjv    schedule 12.04.2016