(一). Django从入门到解救之虚拟环境配置

为什么需要虚拟环境

​ 在没有使用虚拟环境之前, 我们安装第三方包都是通过 pip install xxx的方式去安装的. 这种安装方式十分简单, 因为它是直接把包安装在你的系统级的python环境中, 不需要我们对包进行管理.

​ 但是这种简单的操作也引发了一些兼容性的问题. 如果你现在使用的是Django 1.10开发新的项目, 但你的领导同时又让你维护Django 0.9的旧项目, 而且Django 1.10不再兼容Django 0.9的一些语法了, 那是不是意味着你应该在你的系统级的python环境中, 安装这两个版本的Django包.

​ 但事实是: python不允许在同一个环境中, 安装不同版本的相同包, 这时候我们该怎么办呢? 不用担心, 虚拟环境来帮你搞定在同一台电脑上维护不同环境的难题.

虚拟环境原理介绍

​ 虚拟环境是用于依赖项管理和项目隔离的Python工具,允许Python站点包(第三方库)安装在本地特定项目的隔离目录中,而不是全局安装, 不同的虚拟环境之间不会互相影响. 我们也可以简单的把虚拟环境理解为抽屉, 在这个抽屉安装的所有第三方包, 都不影响其他抽屉的包. 并且在项目中,我们可以指定特定的虚拟环境来配合我们的项目。

​ 那么上面说的问题是不是就迎刃而解了呢. 我只需在本地创建一个Django 1.10的虚拟环境和一个Django 0.9的虚拟环境, 就可以实现既维护老项目又开发新项目, 想想就觉得有点小激动呢.O(∩_∩)O

安装virtualenv

virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装:

1
2
pip install virtualenv
pip3 install virtualenv

创建虚拟环境:

创建虚拟环境非常简单,通过以下命令就可以创建了:

1
virtualenv [虚拟环境的名字]

进入环境:

​ 虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是*nix

  1. windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate

  2. *nix进入虚拟环境:source /path/to/virtualenv/bin/activate

    PS: 一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境(想一想抽屉, 因为你只在这个抽屉里进行操作, 当然不会影响到其他抽屉)。

退出虚拟环境:

​ 退出虚拟环境很简单,通过一个命令就可以完成:deactivate

创建虚拟环境的时候指定Python解释器:

​ 由于python的快速迭代, 导致一些新的语法, 只在特定版本以上的python解释器才可以运行, 如f-string语法就只能在python3.6以上的版本才可以使用. 如果你的本机同时安装了python3.5python3.6的解释器的话, 那么你就可以在创建虚拟环境的时候指定特定的python解释器作为该虚拟环境的解释器.可以通过-p参数来指定(你必须找到你的python安装路径).

1
virtualenv -p python安装路径\python.exe [virutalenv name]

virtualenvwrapper:

virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。

不用再跑到某个目录下通过virtualenv来创建虚拟环境,通过activate激活虚拟环境.

安装virtualenvwrapper

  1. *nix:pip install virtualenvwrapper
  2. windows:pip install virtualenvwrapper-win

使用virtualenvwrapper

  1. 创建虚拟环境:

    1
    mkvirtualenv my_env

    那么会在你当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下。
    如果你电脑中安装了python2python3,并且两个版本中都安装了virtualenvwrapper,那么将会使用环境变量中第一个出现的Python版本来作为这个虚拟环境的Python解释器。

  2. 切换到某个虚拟环境:

    1
    workon my_env
  3. 退出当前虚拟环境:

    1
    deactivate
  4. 删除某个虚拟环境:

    1
    rmvirtualenv my_env
  5. 列出所有虚拟环境:

    1
    lsvirtualenv
  6. 进入到虚拟环境所在的目录:

    1
    cdvirtualenv

修改mkvirtualenv的默认路径(重要):

我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。设置成功后,以后不管你在任何路径下创建的虚拟环境,都统一安装在你设置的路径下,这也给我们统一管理虚拟环境带来极大的方便。

创建虚拟环境的时候指定Python版本:

在使用mkvirtualenv的时候,可以指定--python的参数来指定具体的python路径:

1
mkvirtualenv --python==C:\Python36\python.exe hy_env
0%