Pyenv 的安装和使用

  Pyenv 是一个简单的 Python 版本管理工具。通过 Pyenv 可以安装多个版本的 Python,并且可以在多个版本之间轻松切换。
   所用操作系统:Ubuntu 22.04。


1. 安装 Pyenv

1.1 说明

a) Pyenv 支持 UNIX/LINUX/MacOS 系统,并未支持 Windows 操作系统,Pyenv 官网
b) 如果是 Windows 系统,可以使用非官方版Pyenv-win

1.2 安装 Pyenv

a) 执行如下安装命令:
三个命令是一样的,只是前两个是官网 Github 源,后一个是镜像 Gitee 源。

1
2
3
4
5
6
7
# Github 源 
$ curl https://pyenv.run | bash
# 上面的调用等效于
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

# 推荐:替换国内镜像源
$ curl -L https://gitee.com/xinghuipeng/pyenv-installer/raw/master/bin/pyenv-installer | bash

b) 配置环境变量,将安装路径写入~/.bashrc 文件:

1
2
3
4
# 将以下三条语句写入 ~/.bashrc 文件结尾
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

c) 使配置生效

1
$ source ~/.bashrc

d) 查看 Pyenv 版本并验证安装情况

1
$ pyenv --version

1.3 升级 Pyenv

1
$ pyenv update

1.4 卸载 Pyenv

1
$ rm -rf ~/.pyenv

2. Pyenv 简单使用

2.1 查看所有可用的 Python 版本

1
2
3
$ pyenv install -l
# 或者
$ pyenv install -list

2.2 列出本地可用的 Python 版本

1
$ pyenv versions

2.3 在 Pyenv 中安装 Python

a) 安装 Python 的依赖包

1
2
3
# 以下依赖不一定是最全的,根据实际情况再安装缺失的吧
$ sudo apt update
$ sudo apt install libbz2-dev libncurses5-dev libncursesw5-dev libreadline-dev libffi-dev libsqlite3-dev liblzma-dev

b) 安装 Pyenv

1
2
3
4
5
6
7
8
#方式一:因为 pyenv 会自动到 github 上下载,速度超慢,因此推荐第二种方式 
$ pyenv install 3.12.2 -v #-v 以日志模式显示安装过程

# 方式二:使用 curl 或者 wget 下载到~/.pyenv/cache 下,然后再用 pyenv 安装。软件源可以用自己熟悉的镜像源
$ cd ~/.pyenv
$ sudo mkdir cache
$ sudo wget -c https://mirrors.huaweicloud.com/python/3.12.2/Python-3.12.2.tar.xz -P ~/.pyenv/cache/
$ pyenv install 3.12.2 -v

c) 检查安装情况,安装成功后,本地会多出一个可用版本。如未增加,可能是安装失败了,大概率是缺失依赖包,根据错误日志,安装所需依赖,重新执行安装命令即可。

1
$ pyenv versions

2.4 指定 / 切换 Python 版本

以下三个命令的生效范围不同,根据自己需要执行其一即可:

1
2
3
4
5
6
7
8
9
# 当前 shell
$ pyenv shell 3.12.2
# 当前目录
$ pyenv local 3.12.2
# 全局
$ pyenv global 3.12.2

# 查看当前 Python 版本
$ python --version

2.5 删除指定 Python 版本

1
$ pyenv uninstall 3.12.2