Pyenv 不自动激活

Pyenv not auto activating

我在我的环境中安装了 pyenv,直到这个周末(当我安装 'Kivy' 时)我的 pyenv/local 设置一直运行良好。但是现在当我转到我的各种 python 项目目录时,pyenv 不会自动正确激活正确的 python 版本。

例如

我像这样使用 pyenv 创建了一个环境,

pyenv virtualenv 3.3.2 work

我创建并进入一个名为 work 的目录,并有一个 .python-version 文件,其中文本 work 作为唯一内容。

Pyenv 检测到我的环境是 work 使用这个文件但是我的 python 版本不是 python 3.3.2 而是 2.7.9.

出于某种原因,发生了一些事情,我所有的 pyenv 虚拟环境都使用 2.7.9 而不是它们创建时使用的 python 版本。

当我 运行 which python 我得到,

/opt/boxen/homebrew/bin/python

当我进入pyenv版本目录和运行

$ cat pyvenv.cfg                                                                                                                                                                                           
home = /opt/boxen/pyenv/versions/3.3.2/bin
include-system-site-packages = false 
version = 3.3.2

但是,如果我 运行 pyenv activate 我的 python 版本切换到 python 3.3.2(或给定环境的适当版本)。

问题是,如何让 pyenv 像以前一样自动激活环境的 python 版本(在我破坏它之前)。

听起来,因为 which python 没有说它是垫片,所以你的 [=12] 中没有 bin/shims 路径 first =] 环境变量。将这些行添加到您的 shell 启动脚本,并确保它们在任何其他路径操作之后位于 end

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"

eval 行做了一些额外的 shell 修改,我想添加 .pyenv/shims 目录...用 echo $PATH 检查一下。