概述
'pyenv' 具有设置'local' 和'global' 版本的功能,
其中“本地”是我们为特定目录设置的版本,如果您在该目录或其任何子目录中(如果没有为该子目录设置另一个“本地”),它会以分层方式自动激活。
而“全局”是我们为整个系统设置的版本,它可用于任何目录(如果未为该目录设置本地版本,则本地版本将在该目录中可用)
如何设置“全局”和“本地”
现在要设置python的“全局”或“本地”版本,该python版本应该安装在您的系统中,无论是您使用的“os”还是“pyenv”。而且根本不需要创建虚拟环境。
通过 'pyenv' 安装任何版本
查看
pyenv install --list
选择其中一个名称(例如 3.6.0)并使用命令
的输出pyenv install <version-name>
请注意,操作系统安装的 python 版本被“pyenv”称为“系统”,而“pyenv”安装的版本将由该 python 版本的版本号表示。查看 pyenv 使用安装的所有版本pyenv versions
现在来到如何设置全局版本和本地版本的问题,使用
pyenv global <version-name-as used-by-pyenv>
(必须安装版本)设置全局版本
对于设置本地python,首先,移动到要设置本地版本的目录,然后
pyenv local <version-name-as used-by-pyenv>
我在 ubuntu 20.04 和 Linux mint 20 中遇到的问题
现在有时“系统”python由于“pyenv”无法访问而无法访问,@ivan_pozdeev 很好地解释了原因,但我想解决我在 ubuntu 20.04 和 Linux mint 20 中遇到的有线问题(因为它是基于 ubuntu 20.04)。
在这里,我无法访问系统 python,即使系统 python 二进制文件位于 pyenv 的路径中。
错误是
pyenv: system version not found in PATH
原因:pyenv 找不到“系统”,因为 pyenv 在路径(即“/usr/bin”)中寻找名称为“python”而不是“python3”的二进制文件,而在 ubuntu 20.04 中,python 二进制文件用名称“python3”寻址,而不是用“python”寻址
解决方案:解决方案是在“/usr/bin”中为“python3”创建名为“python”的符号链接,使用的命令是
sudo ln -s /usr/bin/python3 /usr/bin/python