pyenv 无法切换Python版本解决

pyenv是什么

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.

切换问题

将pyenv装好后,运行pyenv正常,用pyenv安装3.7.6版本正常
pyenv版本切换
pyenv global 3.7.6切换正常,但是实际python版本仍是system,使用local切换也一样。

切换问题

检查.bashrc.和网上介绍一致

export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

问题解决

回到https://github.com/pyenv/pyenv readme中提到If your ~/.profile sources ~/.bashrc (Debian, Ubuntu, Mint):

# the sed invocation inserts the lines at the start of the file
# after any initial comment lines
sed -Ei -e '/^([^#]|$)/ {a \
export PYENV_ROOT="$HOME/.pyenv"
a \
export PATH="$PYENV_ROOT/bin:$PATH"
a \
' -e ':a' -e '$!{n;ba};}' ~/.profile
echo 'eval "$(pyenv init --path)"' >>~/.profile

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

将.bashrc中$(pyenv init -)改为$(pyenv init --path),刷新后配置后版本切换正常。
问题原因为新版本pyenv,运行pyenv init -不再设置PATH.

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据