pyenv:Python多版本管理

简介

pyenv 可以在主机上安装多个 Python 版本并轻松切换。主要特性有:

  • 更改用户的全局 Python 版本;
  • 为单个项目设置不同的 Python 版本;
  • 使用环境变量覆盖 Python 版本设置;
  • 一次从多个 Python 版本中搜索命令,这有助于使用 tox 测试。

安装 pyenv

brew

Mac 用户可以通过 brew 安装:

brew update
brew install pyenv

Github

Linux 用户可以通过 pyenv-installer 这个项目从 Github 安装:

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | zsh

安装完成后,需要在 shell 配置中添加一些内容。bash 用户添加到 .bashrc,zsh 用户添加到 .zshrc

# pyenv
export PATH="/home/chi/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

更新 pyenv

pyenv update

安装依赖包

pyenv 本身并没有依赖包,但是由于其安装 Python 版本的方式是拉去源代码后本地编译,因此需要安装 Python 编译的依赖包:

  • Ubuntu/Debian
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
  • macOS
brew install readline xz

基本操作

查看已安装的 Python 版本

pyenv versions

设置全局 Python 版本

pyenv global 3.7.1

安装指定 Python 版本,如果版本不存在,pyenv 会提示版本号相近的可用版本

pyenv install 3.7

卸载指定 Python 版本

pyenv uninstall 3.7.1

查看指定 Python 版本的安装目录

pyenv prefix 3.7.1

为 shell 指定/取消指定 Python 版本

pyenv shell 3.7.1
pyenv shell --unset

卸载 pyenv

  1. 从 shell 配置文件中移除相关内容;
  2. 删除 pyenv 目录,一般是 ~/.pyenv

参考链接

目录