12

我遇到以下与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

垫片根据需要位于 PATH 上:

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

垫片目录中没有任何可疑之处:

$ 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 应该在启动时初始化。

我无法弄清楚如何解决这个问题。有任何想法吗?

4

3 回答 3

17

pyenv似乎需要.python-version在当前目录中为任何其他版本设置显式文件,而不是.pyenv/version. 这在已关闭的 GitHub 问题中进行了解释。

通过创建.python-version文件解决了该问题。这是自动完成的,例如$ pyenv local 2.7.10

因此,最初的问题在于糟糕的错误消息。我创建了一个新问题来解决它。

于 2016-04-01T13:32:32.483 回答
7

简短的回答——你需要做的就是:

pyenv global 2.7.10

pyenv 的 Python 2.7.10 解释器版本的名称只是2.7.10,而不是python2.7.10。您可以通过以下方式获取所有已安装版本的列表:

pyenv versions
于 2016-04-12T06:50:13.687 回答
1

我安装了一个版本,后来又卸载了它,但版本参考仍然在.pyenv/version. 一旦我从那里手动删除它,错误就消失了。

于 2021-12-03T07:44:01.977 回答