pyenv 使用系统 python 而不是虚拟环境

Rod*_*una 7 python pip pyenv

我已经使用 pyenv 很长时间了,没有任何问题。我正确设置了它并且一切正常。

然而,当我试图解决另一个问题时,我运行了一些行,这破坏了我的 pyenv 安装。

现在,当我激活任何 virtualenv 时,它会尝试使用系统的 python 而不是 pyenv 的:

$ pyenv activate foo
(foo) $ which python 
/usr/bin/python
(foo) $ pip --version
pip 20.3.4 from /home/rodrigo/.local/lib/python2.7/site-packages/pip (python 2.7)

Run Code Online (Sandbox Code Playgroud)

我不确定到底是哪一行破坏了它,可能是以下一行:(foo) $ pip install --upgrade pip setuptools wheel 来自环境foo(我在它仍然有效时运行它),但可能是另一行。

我已经检查过~/.bashrc文件,没问题;重新启动控制台,甚至换了不同的环境foo2,问题仍然存在......

我已经检查了类似的问题,例如thisthis,但这些与我已经测试过并且没问题的配置错误有关。

我正在使用 Ubuntu 18.04 LTS 和 pyenv 2.0.3-8-gad880754

更新我重新安装了 pyenv 但它仍然不起作用

小智 7

我通过改变让它工作~/.zshrc

改变

eval "$(pyenv init -)"
Run Code Online (Sandbox Code Playgroud)

eval "$(pyenv init --path)"
Run Code Online (Sandbox Code Playgroud)

并启动一个新的外壳。

看来这是 2.0 中引入的更改。