JBe*_*ley 5 python ubuntu python-3.x pyenv
我使用的是Ubuntu 20.04,所以我的Python系统版本是3.8.5。我已经使用 pyenv 安装了 Python 3.9.1,并设置了特定于文件夹的 python,如下所示:
$ pyenv local 3.9.1
$ cat .python-version
3.9.1
Run Code Online (Sandbox Code Playgroud)
Pyenv 的垫片存在并在 $PATH 中可用:
$ which python
/home/username/.pyenv/shims/python
$ which python3
/home/username/.pyenv/shims/python3
Run Code Online (Sandbox Code Playgroud)
Pyenv 本身可以正确识别我要使用的版本:
$ pyenv which python
/home/username/.pyenv/versions/3.9.1/bin/python
$ pyenv which python3
/home/username/.pyenv/versions/3.9.1/bin/python3
Run Code Online (Sandbox Code Playgroud)
但是,当我运行python或时python3,只有前者给我正确的版本,而python3恢复到系统版本:
$ python --version
Python 3.9.1
$ python3 --version
Python 3.8.5
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?我使用其自己的安装程序( https://pyenv.run中的脚本)安装了 pyenv,并且我的 .bashrc 按照说明包含以下行:
export PATH="/home/username/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)
原因之一可能是您没有重新启动终端并且您中的代码.bashrc尚未运行。尝试
. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
或者对于 macOS,您使用的应该将其放入.zshrc
. ~/.zshrc
Run Code Online (Sandbox Code Playgroud)