使用 pyenv 和 pipenv 管理 python版本及虚拟环境

如果你已经无法容忍机器上杂乱的 python 版本,pyenv 是一味良药,可以尝一下,辅以 pipenv 管理虚拟环境疗效极佳,让“洁癖”的你身心健康!

本文适用于 macOS 下的 python 开发。

pyenv

pyenv 可以用来管理不同版本的 python

安装

brew install pyenv

配置

在使用的 shell 配置文件中加 pyenv 相关内容

  • 使用 bash 的话,就编辑 .bashrc 文件
  • 使用 zsh 的话,编辑 .zshrc 文件

配置内容:

export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH
eval "$(pyenv init -)"

安装

查看 python 可用版本

pyenv install --list

安装某个版本

比如安装 3.6.8

pyenv install 3.6.8

会发现极慢,此时可以自己到 python 官网下载相应版本的 tar.xz 包,比如这里就下载 Python-3.6.8.tar.xz,然后放到用户目录下的 .pyenv/cache 下,如果目录不存在就自己创建,pyenv 安装就会先下载源码包到这个目录。

卸载

pyenv uninstall 3.6.8

查看已安装的版本

pyenv versions

这个命令同时也会查看当前使用的版本。

切换 python 版本

全局

作用域在全局

pyenv global 3.6.8

局部

作用域在一个工作目录

pyenv local 3.6.8

进入某个目录,执行上面的命令后,每当进入这个目录就会自动切换 python 为指定的版本。

which python 可以查看 python 的目录是:~/.pyenv/shims/

pipenv

可以参考博文 一起使用 pipenv

虚拟环境

某个工程使用 3.6.8 的 python:

  1. 进入工程目录 cd project1
  2. 切换 python 版本 pyenv local 3.6.8
  3. 创建虚拟环境 pipenv --python /Users/5km/.pyenv/shims/python
  4. 安装依赖 pipenv install --skip-lock