HowTo系列之virtualenv

1. 简介

virtualenv是一个用于创建Python独立运行环境的命令行工具。

在我们使用python进行开发的时候,我们会依赖不同的Python版本和不同的库版本。当我们的项目需要依赖别的开发包的时候,我们会把包下载到python的site-packages目录下,如果不同的项目依赖不同的包版本,那么必然会导致开发过程中包版本冲突。

所以,virtualenv工具的目的,主要就是为了解决一个问题:将Python的运行环境隔离开,使得不同的运行环境互不影响。

2. 安装

通过python的pip工具,可以直接安装virtualenv工具:

1 pip install virtualenv

3. 使用

接下来,将介绍如何使用virtualenv工具创建一个独立的python环境。

最简单的使用virtualenv的方式很简单,直接一行命令就可以搞定了:

1 virtualenv isolate
2 
3 #Using base prefix #'/Library/Frameworks/Python.framework/Versions/3.4'
4 #New python executable in isolate/bin/python3.4
5 #Also creating executable in isolate/bin/python
6 #Installing setuptools, pip, wheel...done.

其中的isolate是你需要创建的环境的根目录,执行完这个命令后,会在isolate目录下创建若干文件和目录:

1 ├── bin
2 ├── include
3 └── lib
  • lib目录中包含了新创建的Python运行环境的库文件,在这个环境中安装的所有依赖包都会出现在lib/pythonX.X/site-packages/目录下。
  • bin目录中包含了一些可执行的工具(比如:pip,setuptools以及激活当前环境的activate脚本)和当前环境的python解释器。所有使用当前环境的python解释器启动的python脚本,都会使用当前环境中的依赖包,这就起到了隔离环境的作用。

3.1 激活环境

当我们创建了上面的isolate环境以后,我们并没有激活这个环境,如果我们现在在命令行中执行python ,我们使用的还是全局的python环境。我们需要在当前环境的根目录下(也就是上面的isolate目录下)执行下面的命令

1 source bin/activate

这个命令会更新我们的shell环境中的PATH变量,来达到激活环境的目的。而且执行完这个命令后,我们的shell提示符也会改变:

1 # 执行命令前
2 [21:21:02] ~/personal/isolate -> source bin/activate
3 # 执行命令后
4 (isolate)[21:33:29] ~/personal/isolate -> 

可以看到,在提示符前多了个(isolate)的标记。

现在,我们如果在shell中执行python命令,使用的就是isolate下的python环境了,在退出该环境前,我们所有的操作都只会影响isolate环境,而不会影响全局环境,包括安装各种包版本,也只会安装到isolate环境中,和其他的环境是互相隔离的。

3.2 退出环境

如果我们退出激活的环境,想使用原先全局的python环境,我们可以使用下面的命令:

1 # 执行前
2 (isolate)[21:33:31] ~/personal/isolate -> deactivate 
3 # 执行后
4 [21:42:14] ~/personal/isolate -> 

如果想卸载整个环境,可以直接将该环境所在的目录删除就可以了。

posted on 2016-04-18 21:56  Now&Fight  阅读(905)  评论(0编辑  收藏  举报

导航