使用 pyenv 和 pipenv 管理糟糕的 python 环境

前言

经常写 python 的开发一定苦恼过一个问题,那就是如何安装 python 环境。经常遇到如下问题:

  1. 许多系统默认只自带 python2,导致现在很多使用 python3 的程序无法正常运行
  2. python3 各版本间也不是完全兼容,某些第三库只支持特定的 python 版本

这些问题导致了我们经常会在各个版本间进行切换,甚至每个项目的 python 版本都不尽相同。所以我们需要一个环境管理器来帮助我们管理各个版本,这就用到了 pyenv

而当我们项目过多之后,每个项目的依赖包就会有多个版本。这些依赖包的管理就需要用到 pipenv

pyenv

安装

mac 使用 homebrew 安装 pyenv

brew install pyenv

设置环境变量

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1;
then
  eval "$(pyenv init -)"
fi
  • 如果使用的是 bash,则将上述代码粘贴到 ~/.bashrc
    重新加载环境变量,source ~/.bashrc
  • 如果使用的是 zsh,则将上述代码粘贴到 ~/.zshrc
    重新加载环境变量,source ~/.zshrc

安装 python 3.6.6

pyenv install 3.6.6

默认使用 3.6.6

pyenv global 3.6.6

pyenv 常用命令

  • 查看有哪些 Python 版本可以安装

    pyenv install --list
  • 安装某个 Python 版本

    pyenv install 3.6.4
  • 查看当前 Python 版本情况(* 表示系统当前的 Python 版本,system表示系统初始版本)

    pyenv versions
      system
    * 3.6.6 (set by /Users/jiz4oh/.pyenv/version)
  • 切换 Python 默认版本

    # 切换全局默认版本
    pyenv global 3.6.6
    # 切换当前项目默认版本
    pyenv local 3.6.6
    # 切换 shell 使用的默认版本
    pyenv shell 3.6.6
  • 卸载指定 Python 版本

    pyenv uninstall 3.6.6

pipenv

安装

mac 使用 homebrew 安装 pipenv

brew install pipenv

【2020.10.01】homebrew 安装版本为 2018.11.26_3,如果需要安装最新版本需要使用

pip3 install pipenv

参考

Pipenv – 超好用的 Python 包管理工具