Date Tags Python

安装

用easy_install或者pip安装

easy_install -U virtualenv
pip install -U virtualenv

什么是virtualenv

如果我们的机器中只有一个python环境,所有的人都往里面安装库,这样会导致依赖和版本的问题, 试想一下,如果你有一个应用要使用LibFoo的版本1,另外的一个应用要使用版本2,如何运行这 两个程序。把一切的库都往/usr/lib/python2.7/site-packages里装,这样要因为一个程序要 升级某个库的时候可能会导致其他引用这个库的程序运行出错。

另一个问题是如果你没有权限往全局的site-packages里面安装库呢? 这个时候,我们就要使用到virtualenv。

要创建virtualenv环境很简单

virtualenv ENV

ENV是这个环境的名字,你可以命名为django_env, pyramid_env,或者就是env。

命令完后,会创建以下的目录结构,在Linux中Scripts由bin代替。

xxx_env
      |- etc
      |- Lib
      |- Scripts

在virtualenv环境中运行程序

Windows

在cmd中运行即可进入virtualenv的shell

Scripts\activate.bat

Linux

在bash中运行

source bin/activate

任何在此shell中安装的库都会安装到virtualenv的Lib\site-packages\下, 再也不用担心对全局python库的污染了。

现存问题

Windows版本的virtualenv是不可移动的,这意味着你不可以直接把这个环境拷贝到其他目录中运行。

Linux版本的是可以的,但必须在创建的时候带上relocatable参数

virtualenv --relocatable ENV

参考资料

  • http://www.virtualenv.org