一、VirtualENV及VirtualEnvWrapper介绍
在日常的Python程序开发中,会经常引用一些开源的工具包,这些包由于由开源社区维护,软件版本会频繁更新,在出现大的版本更新时就会出现新版本无法向下兼容的问题。在实际工作当中不同项目之间所使用的工具包版本是并不一致的,如果使用统一的开发环境,就会出现无法满足不同项目需求的情况。
VirtualEnv和VirtualEnvWrapper就是为了解决开源工具包在同一个系统上多版本共存的问题。
VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper则为前者提供了一些便利的命令行上的封装,使得操作更为简便。
二、环境依赖
安装VirtualEnv和VirtualEnvWrapper之前,首先要在系统中安装系统的依赖包和Python运行环境。
1、安装系统依赖包:
yum install -y vim pdsh gcc zlib-* openssl-devel libffi.x86_64 libffi-devel ncurses.x86_64 ncurses-devel.x86_64 libxslt.x86_64 libxslt-devel.x86_64 libxml2-devel.x86_64 libcurl-devel.x86_64 bzip2-devel.x86_64
2、由于CentOS 6.x系列的默认Python版本为2.6,所以需要手动编译安装Pyhton 2.7
手动下载Python 2.7的安装包后,进行解压,并编译安装。具体命令如下:
tar zxvf Python 2.7.tar.gz
cd Python 2.7
./configure —prefix=/usr --with-bz2
如果遇到提示没有zlib的问题,则需要在Module/Setup中修改467行,取消该行的注释之后重新安装。
=============================================
将:
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
修改为:
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
=============================================
make && make install
3、修改yum的执行程序
vim /usr/bin/yum
将第一行的python改为python2.6
4、安装pip
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python get-pip.py
三、VirtualEnvWrapper的安装方法
1、安装命令:
pip install virtualenvwrapper
2、把下面这句加到~/.bash_profile里面,之后每次登录系统都会自动加载virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh
四、常用命令
通过运行virtualenvwrapper -h命令可以看到virtualenvwrapper的说明信息和常用命令。
下面对一些常用命令进行介绍:
1、创建新的python虚拟环境
命令:mkvirtualenv [envname]
该命令会帮我们创建一个新环境,默认情况下,环境的目录是.virtualenv/en1,创建过程中它会自动帮我们安装pip,以后我们要安装新依赖时可直接使用pip命令。
创建完之后,自动切换到该环境下工作,可看到提示符变为:
(envname)$
在这个环境下安装的依赖不会影响到其他的环境
2、切换环境
命令:workon [envname]
随时使用“workon 环境名”可以进行环境切换,如果不带环境名参数,则显示当前使用的环境
3、关闭python虚拟环境
命令:deactivate
在某个环境中使用,会关闭python虚拟环境,并切换到系统的python环境
4、显示某个环境中已经安装的依赖包
命令:lssitepackages
在某个虚拟环境中执行该命令,就可以看到该环境已经安装的依赖包列表
5、查看所有python虚拟环境
命令:lsvirtualenv
此命令可以列出系统中所有python虚拟环境的名称