为什么需要虚拟环境:
到目前位置,我们所有的第三方包安装都是直接通过pip install xx
的方式进行安装的,这样安装会将那个包安装到你的系统级的Python
环境中。但是这样有一个问题,就是如果你现在用Django 1.10.x
写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9
开发的,让你来维护,但是Django 1.10
不再兼容Django 0.9
的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10
和Django 0.9
两套环境呢?这时候我们就可以通过虚拟环境来解决这个问题。
虚拟环境原理介绍:
pip install virtualenv
pip3 install virtualenv
创建虚拟环境:
创建虚拟环境非常简单,通过以下命令就可以创建了:
virtualenv [虚拟环境的名字]
如果你当前的Python3/Scripts
的查找路径在Python2/Scripts
的前面,那么将会使用python3
作为这个虚拟环境的解释器。如果python2/Scripts
在python3/Scripts
前面,那么将会使用Python2
来作为这个虚拟环境的解释器。
进入环境:
虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows
,第二种是*nix
:
-
windows
进入虚拟环境:进入到虚拟环境的Scripts
文件夹中,然后执行activate
。 -
*nix
进入虚拟环境:source /path/to/virtualenv/bin/activate
一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。
退出虚拟环境:
退出虚拟环境很简单,通过一个命令就可以完成:deactivate
。
创建虚拟环境的时候指定Python
解释器:
virtualenv -p C:Python36python.exe [virutalenv name]
virtualenvwrapper:
virtualenvwrapper
这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv
来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
安装virtualenvwrapper
:
-
*nix:
pip install virtualenvwrapper
。 -
windows:
pip install virtualenvwrapper-win
。
virtualenvwrapper
基本使用:
-
创建虚拟环境:
mkvirtualenv my_env
那么会在你当前用户下创建一个
Env
的文件夹,然后将这个虚拟环境安装到这个目录下。 如果你电脑中安装了python2
和python3
,并且两个版本中都安装了virtualenvwrapper
,那么将会使用环境变量中第一个出现的Python
版本来作为这个虚拟环境的Python
解释器。 -
切换到某个虚拟环境:
workon my_env
-
退出当前虚拟环境:
deactivate
-
rmvirtualenv my_env
-
列出所有虚拟环境:
lsvirtualenv
-
进入到虚拟环境所在的目录:
cdvirtualenv
修改mkvirtualenv
的默认路径:
创建虚拟环境的时候指定Python
版本:
mkvirtualenv --python==C:Python36python.exe hy_env