Python 多版本与虚拟环境管理之 pyenv

介绍

pyenvPython 版本管理工具。pyenv 可以改变全局的 Python 版本,在系统中安装多个版本 Python,设置目录级别的 Python 版本,还能创建和管理 virtual python environments

安装

利用 pyenv-installer 安装

1
curl https://pyenv.run | bash

安装后会自动安装如下插件
pyenv-doctor pyenv-installer pyenv-update pyenv-virtualenv pyenv-which-ext python-build
~/.zshrc 中添加如下配置

1
2
3
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"

命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 查看可以安装的包和版本
$ pyenv install -l

# 安装3.9.5
$ pyenv install 3.9.5

# 创建可执行文件的shims
$ pyenv rehash

# 查看已安装的版本
$ pyenv versions

# 设置全局的Python版本,版本号写入 ~/.pyenv/version
$ pyenv global 3.9.5

# 设置本地的Python版本,版本号写入前目录下的 .python-version
$ pyenv local 3.9.5

# 卸载python版本
$ pyenv uninstall {版本号}

# 列出所有虚拟环境
$ pyenv virtualenvs

# 创建一个3.9.5版本的虚拟环境
$ pyenv virtualenv 3.9.5 V395

# 激活虚拟环境
$ pyenv activate V395

# 关闭虚拟环境
$ pyenv deactivate V395

# 删除虚拟环境
$ pyenv uninstall V395

使用

比如我们现在有一个场景,为 sanic 项目创建一个虚拟环境
第一步:
我们需要安装需要的 Python 版本比如 3.9.5
pyenv install 3.9.5
第二步:
创建一个 3.9.5 版本的虚拟环境
pyenv virtualenv 3.9.5 sanic
第三步:
去到 sanic 项目目录
pyenv local sanic
第四步
取消设定
pyenv local --unset
第五步
导出 requirements.txt
pip freeze > requirements.txt


到这里就可以在 sanic 项目下愉快的玩耍了