在开发python时,时常会碰到版本问题,不过好在python在解决这个问题上,有一套简单易行的办法,那就是pyenv + virtualenv,今天就介绍给大家,下面都是在centos系统下进行的。
概念
pyenv:简单说是管理python版本的,可以实现一台机器轻松装多个版本,并且可以在各个版本之间自由切换。
virtualenv:在某个python版本下,分割出不同的第三方依赖库。保证各个环境依赖库纯净。
详细操作
安装依赖
sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel openssl-devel readline-devel sqlite-devel bzip2-devel
安装pyenv 和 pyenv-virturalenv
mkdir ~/.pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://github.com/yyuu/pyenv-virtualenv.git
~/.pyenv/plugins/pyenv-virtualenv
vim ~/.bashrc
bashrc添加内容如下:
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source ~/.bashrc
查看pyenv下的版本列表
pyenv install --list
安装某个python版本
新建pyenv.sh内容如下
#!/bin/bash
echo "输入版本:"
read v
wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/
pyenv install $v
这样做可以解决国内pyenv镜像下周慢的问题。
执行pyenv.sh
sh pyenv.sh
多环境切换
新建virtual环境
$ pyenv virtualenv 2.7.1 env271
切换到新的环境
$ pyenv activate env271
退回到系统环境
$ pyenv deactivate
删除新创建的环境
$ rm -rf ~/.pyenv/versions/env271/