我在我的环境中安装了pyenv,直到本周末(当我安装’Kivy’时)我的pyenv / local设置工作正常.但是现在当我进入各种python项目目录时,pyenv不会自动正确地激活正确的python版本.
例如.
我使用像这样的pyenv创建一个环境,
pyenv virtualenv 3.3.2 work
我制作并进入一个名为work的目录,并有一个.python-version文件,文本作为唯一内容.
Pyenv检测到我的环境是使用这个文件工作,但我的python版本不是python 3.3.2而是2.7.9.
出于某种原因,发生了一些事情,并且我的所有pyenv虚拟环境都使用2.7.9,而不是使用它们创建的python版本.
当我运行哪个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(或给定env的适当版本).
问题是,如何让pyenv像以前一样自动激活环境的python版本(在我做某事之前打破它).
解决方法:
听起来,因为python没有说它是垫片,你的PATH envvar中没有bin / shims路径.将这些行添加到shell启动脚本中,并确保它们在任何其他路径操作之后结束.
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval行做了一些额外的shell monkeying我想添加.pyenv / shims目录…检查一下echo $PATH也许.