概述
'pyenv' 具有设置'local'和'global'版本的功能,
其中“本地”是我们为特定目录设置的版本,如果您在该目录或其任何子目录中(如果没有为该子目录设置另一个“本地”),它会以分层方式自动激活.
而“全局”是我们为整个系统设置的版本,它可用于任何目录(如果未为该目录设置本地版本,则本地版本将在该目录中可用)
如何设置“全局”和“本地”
现在要设置python的“全局”或“本地”版本,该python版本应该安装在您的系统中,无论是您使用的“os”还是“pyenv”。 而且根本不需要创建虚拟环境。
通过 'pyenv' 安装任何版本
查看输出
pyenv install --list
选择其中一个名称(例如 3.6.0)并使用命令
pyenv install <version-name>
请注意,操作系统安装的python版本被'pyenv'称为'system','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 中遇到的问题
现在有时由于“pyenv”无法访问“系统”python,@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”)和 ubuntu 20.04 中寻找名称为“python”而不是“python3”的二进制文件python 二进制文件使用名称“python3”进行寻址,而不是使用“python”
解决方案:解决方案是在 '/usr/bin' 中为 'python3' 创建名为 'python' 的符号链接,使用的命令是
sudo ln -s /usr/bin/python3 /usr/bin/python