Mac下Pyenv的安装和使用

03 Mar 2020 Tech-Post Mac

Mac下Pyenv的安装和使用

Pyenv

前言

开发python项目的时候经常会遇到版本冲突问题。例如有时候需要用到python3.5,有时候又需要用到3.7。像node使用nvm一样,python也有类似的版本管理工具—pyenv。两个工具的功能基本一样。使用版本管理工具,可以方便的来回切换不同的版本以满足开发需求。而且简单易用。

下载与安装

下载的方式其实有很多。我使用的方式是最简单的。系统版本macOS Catalina,稍低一点的版本也OK。 使用Homebrew 安装

brew update
brew install pyenv

下载安装完毕之后检查一下是否安装成功

pyenv --version 

出现版本号即代表成功

查看现有的Python版本以及正在使用的Python版本

pyenv versions

会出现

* system

说明目前全局使用的是系统默认的版本(通常为2.7)

安转其他Python版本

pyenv install 3.6.3

列出可用的版本

pyenv install -l

安装完之后查安装后的版本

pyenv versions

会出现

* system
  3.6.7

添加路径到终端配置文件

我使用的是zsh,如果是bash也一样 Zsh

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

Bash

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

重新启动shell来使用pyenv

exec "$SHELL"

使用

切换版本

这里pyenv有三个变量供你切换的时候选择

global: 设置全局的 Python 版本(系统)
local: 设置 Python 本地版本(项目)
shell: 设置面向 shell 的 Python 版本(终端)

python 优先级: shell > local > global

例如切换全局python版本为3.6.3

pyenv global 3.6.3

例如切换本地python版本为3.7.1

pyenv local 3.7.1

建议配合pipenv使用

  • 根据项目要求,确定python使用版本,通常项目目录下的pipfile文件会列出python版本需求
  • 在项目目录下,使用pyenv切换到需求版本
  • 使用pipenv install安装需求的包即可

Search

    Table of Contents