HowTo系列之virtualenv

1. 简介

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

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

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

2. 安装

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

 pip install virtualenv

3. 使用

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

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

 virtualenv isolate

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

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

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

3.1 激活环境

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

 source bin/activate

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

 # 执行命令前
[::] ~/personal/isolate -> source bin/activate
# 执行命令后
(isolate)[::] ~/personal/isolate ->

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

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

3.2 退出环境

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

 # 执行前
(isolate)[::] ~/personal/isolate -> deactivate
# 执行后
[::] ~/personal/isolate ->

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

上一篇:SQL Server相关书籍


下一篇:C#预定义类型