Pyenv介绍

python 2 vs python 3

去年 11 月,Numpy团队的一份声明引发了Python社区的关注:这一科学计算库即将放弃对于 Python 2.7 的支持,全面转向Python 3

声明原文Plan for dropping Python 2.7 support

不过,还是有很多Python的项目依然还是使用2.7的版本来进行开发和维护。尤其是我这种喜欢折腾新东西的人来说,一门语言同时在一个系统中存在多个版本是一个非常正常的事情。也经常有同学来问我Python不同版本之间兼容和切换的问题。

今天给大家推荐一下Python环境管理的工具,简单整理一下pyenv相关的介绍和使用。

pyenv是一个非常好用的Python环境管理工具。

有这些主要特性:

  1. 方便的安装、管理不同版本的Python,而且不需要sudo权限,不会污染系统的Python版本
  2. 可以修改当前用户使用的默认Python版本
  3. 集成virtualenv,自动安装、激活
  4. 命令行自动补全

详细内容见 Github - pyenv/pyenv.

安装pyenv

使用pyenv-installer

curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

然后在~/.bashrc~/.zshrc中添加如下内容:

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

macOS用户可以直接使用brew这个包管理系统直接安装pyenv,直接完成上述两步操作。

brew install pyenv

常用命令

完整的命令行列表可以参考pyenv/COMMANDS.md.

安装Python

pyenv install 3.6.1

这个命令会为当前用户下载和安装Python 3.6.1

新建虚拟环境

pyenv virtualenv 3.6.1 py36

设置当前路径使用的 Python 环境

pyenv local py36

这个命令会在当前路径创建一个.python-version文件,文件内容就是 py36,即环境名称。所以一般需要把.python-version添加到 .gitignore.

下次进入该目录时,会自动激活虚拟环境,离开后自动退出。

附录

  1. 在Python 2.7即将停止支持时,我们为你准备了一份3.x迁移指南