有时候需要调试不同的django版本的应用,有的时候装多个web框架,就发现python第三方插件太多太混乱。
这个时候virtulenv就很好用了,它可以虚拟出许多个python解释器环境,针对每个环境安装所需要的第三方包
就好像沙箱一样隔离,这是个很实用的功能。
这里介绍下win下的使用方法:
安装virtulenv:
使用easy_install,pip,或者源码安装的方式都行
1
|
C:\Users\Administrator>pip
install
virtualenv
|
查看是否安装成功:
1
2
|
C:\Users\Administrator>virtualenv --version
1.10
.
1
|
创建virtulenv环境:
通过--help可以看到virtulenv的所有命令行选项,这里我们就创建一个最简单的可以使用的虚拟环境。
1
2
3
4
5
6
7
8
9
10
11
|
I:\
test
>virtualenv testenv
New python executable
in
testenv\Scripts\python.exe
Installing Setuptools.........................................................
..............................................................................
..............................................................................
.........................
done
.
Installing Pip................................................................
..............................................................................
..............................................................................
..............................................................................
.......................
done
.
|
创建好一后的testenv目录如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
└─testenv
├─Include
├─Lib
│ ├─distutils
│ ├─encodings
│ └─site-packages
│ ├─pip
│ │ ├─backwardcompat
│ │ ├─commands
│ │ ├─vcs
│ │ └─vendor
│ │ ├─distlib
│ │ │ └─_backport
│ │ └─html5lib
│ │ ├─filters
│ │ ├─serializer
│ │ ├─treebuilders
│ │ ├─treewalkers
│ │ └─trie
│ ├─pip-1.4.1-py2.7.egg-info
│ ├─setuptools
│ │ ├─
command
│ │ ├─tests
│ │ └─_backport
│ │ └─hashlib
│ ├─setuptools-0.9.8-py2.7.egg-info
│ └─_markerlib
└─Scripts
|
就是一个最基本的python环境,默认安装了easy_insall和pip
启动virtulenv环境:
启动命令在 testenv/Scripts中,操作如下
1
2
3
4
5
6
|
I:\
test
>
cd
testenv
I:\
test
\testenv>
cd
Scripts
I:\
test
\testenv\Scripts>activate
(testenv) I:\
test
\testenv\Scripts>
|
最后一行可以看到前面多了一个环境的名称,这时候我们使用pip看看这个虚拟环境安装了那些第三方包
1
2
3
|
(testenv) I:\
test
\testenv\Scripts>pip list
pip (1.4.1)
setuptools (0.9.8)
|
如果你想使用这个解释器环境运行什么python脚本,直接加载目录就行了,使用方式和一般的dos下一样。
1
|
(testenv) I:\
test
\testenv\Scripts>python D:\code\python\django\mytest\manage.py
|
安装第三方插件:
如果想需要的插件使用pip或者easy_insall就行了
1
2
3
4
|
(testenv) I:\
test
\testenv\Scripts>pip
install
simplejson
Downloading
/unpacking
simplejson
Downloading simplejson-3.3.3.
tar
.gz (67kB): 67kB downloaded
Running setup.py egg_info
for
package simplejson
|
这样就可以实现python解释器环境的隔离了。
下次使用的时候要先到Script下启动虚拟环境,然后在运行脚本。