pyenv是什么
pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源.
切换问题
将pyenv装好后,运行pyenv正常,用pyenv安装3.7.6版本正常
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.