pyenv 管理多python版本

  • 概述
  • 安装 pyenv
  • 一些常用命令
  • 管理虚拟环境
  • Reference

概述

在 Python 的世界中目前存在 Python 2 和 3 两个版本,虽然只有两个版本但是,版本之间还是有很多差别的,所以很难兼容,一般成熟的库都会支持两个版本,但是,在一个机器上维护多个版本的 Python 是件麻烦事,pyenv 的出现让这个麻烦事变得非常容易,本文将讲解如何在 Ubuntu 中安装 pyenv 以及使用 pyenv 管理多套 python 环境。

安装 pyenv

这里使用的是普通的用户,所以安装的时候是用 sudo 的,如果使用的 root 用户的话,需要确保你以后也是以 root 用户使用 pyenv,因为第三行和第四行是设置 pyenv 的 ROOT 目录的。

[root@liqiang.io]# apt-get install git python-pip make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev[root@liqiang.io]# pip install virtualenvwrapper[root@liqiang.io]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv[root@liqiang.io]# git clone https://github.com/yyuu/pyenv-virtualenvwrapper.git ~/.pyenv/plugins/pyenv-virtualenvwrapper[root@liqiang.io]# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc[root@liqiang.io]# echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc[root@liqiang.io]# echo 'eval "$(pyenv init -)"' >> ~/.bashrc[root@liqiang.io]# echo 'pyenv virtua lenvwrapper' >> ~/.bashrc

一些常用命令

查看当前 pyenv 管理的版本

[root@liqiang.io]# pyenv versions* system (set by /home/tyrael/.pyenv/version)  2.7.11  3.5.2

查看可安装的所有版本

[root@liqiang.io]# pyenv install --listAvailable versions:  2.1.3...  2.7  2.7.1...

安装指定版本的 python

假设我希望安装 python 2.7.11 版本,那么直接敲这条命令即可:

[root@liqiang.io]# pyenv install 2.7.11

安装完成之后需要对数据库进行更新:

[root@liqiang.io]# pyenv rehash

设置全局的 python 版本

现在也只是 pyenv 管理了一些 python 版本,如果我们需要直接使用 python 命令来使用指定版本的 python,那么需要使用 pyenv 设置全局的 python 版本,设置命令为:

[root@liqiang.io]# pyenv global 2.7.11

然后使用再敲一次命令pyenv versions 将会看到指定版本前面有个 * 号。

[root@liqiang.io]# pyenv global 2.7.11[root@liqiang.io]# pyenv versions  system* 2.7.11 (set by /home/tyrael/.pyenv/version)  3.5.2

然后可以使用 python version 确认 python 版本:

[root@liqiang.io]# python --versionPython 2.7.11

管理虚拟环境

在没有使用 pyenv 的时候,我们会使用 virtualenv 来管理包,但是,当我们使用了 pyenv 后,默认的 virtualenv 就不起作用了,因此,我们需要使用 pyenv 的扩展插件 pyenv-virtuanenv。但是我更习惯使用 virtualenvwrapper,所以这里安装是 virtualenv 的扩充版本 virtualenvwrapper。

其实在之前的安装步骤,我们也已经安装上去了,所以下面直接使用即可。

创建虚拟环境

  1. 启动 pyenv-virtualenvwrapper
    1. [root@liqiang.io]# pyenv virtualenvwrapper
  2. 创建虚拟环境
    1. [root@liqiang.io]# mkvirtualenv test
  3. 安装依赖包
    1. [root@liqiang.io]# pip install ipython
  4. 验证版本
    1. [root@liqiang.io]# ipython

然后会看到提示信息:

[root@liqiang.io]# ipythonPython 3.5.2 (default, Aug 27 2016, 20:30:13) Type "copyright", "credits" or "license" for more information.IPython 5.1.0 -- An enhanced Interactive Python.?         -> Introduction and overview of IPython's features.%quickref -> Quick reference.help      -> Python's own help system.object?   -> Details about 'object', use 'object??' for extra details.

这里是 python 3.5.2 ,没错,所以表示 virtualenvwrapper 切换成功,我们可以使用 python 3.5.2 进行一些实验了开发了。

Reference

发表评论

Connect with