pyenv 不会更改 mac 上的 python 版本

ali*_*der 3 python python-3.x pyenv

我在 mac 上安装了 pyenv 并使用以下命令安装所需的 python 版本:

pyenv install 3.8.0
pyenv global 3.8.0
Run Code Online (Sandbox Code Playgroud)

我正在使用 zsh,我的 zshrc 文件包含以下内容:

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
Run Code Online (Sandbox Code Playgroud)

当我检查python版本时,我仍然可以看到命令响应的旧系统版本即2.7.15:

python -V
Run Code Online (Sandbox Code Playgroud)

对我可能做错了什么有什么想法吗?

我也尝试过bash。我在 bashrc 文件中没有看到任何 pyenv 引用。

dda*_*yan 5

如果你重新启动你的shell,它会起作用吗?

$ exec "$SHELL"
Run Code Online (Sandbox Code Playgroud)

如果是,那么问题是 zshenv 加载得太快,您可以将以下内容添加到 .zprofile 或 .zshrc

if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi
Run Code Online (Sandbox Code Playgroud)

  • 只需在同一个 shell 上运行 `eval "$(pyenv init -)"` 也应该可以解决问题。新的 shell 也应该遵循全局设置。谢谢@ddayan! (2认同)