virtualenv 基本使用文档

简介

首先来看一下 virtualenv 是个什么东东?python

在使用Python开发的过程当中,工程一多,不免会碰到不一样的工程依赖不一样版本的库的问题;亦或者是在开发过程当中不想让物理环境里充斥各类各样的库,引起将来的依赖灾难。此时,咱们须要对于不一样的工程使用不一样的虚拟环境来保持开发环境以及宿主环境的清洁。这里,就要隆重介绍 virtualenv,一个能够帮助咱们管理不一样 Python 环境的绝好工具。virtualenv 能够在系统中创建多个不一样而且相互不干扰的虚拟环境。另外,值得一提的是,在 virtualenv 的虚拟环境中使用 pip 安装依赖还能够绕过某些系统的权限设置,由于毕竟不须要向系统目录写入数据嘛~~web

安装

首先从安装讲起,这里假设已经安装了 pip,若是没有安装 pip 的话,请自行安装。安装完成后就可使用pip安装virtualenv 软件shell

$ pip install virtualenv

ok,如今宿主机已经拥有了virtualenv虚拟环境管理器了django

使用

虚拟管理器环境有了,该怎么使用呢?centos

好比如今咱们要利用Django框架开发一个web网站,咱们就把这个项目暂且叫作blog。由于咱们的宿主机自己已经安装了Django1.6版本,可是咱们的web网站想要使用最新的Django1.10版本开发。app

假设咱们把项目放在/app/local/project/blog目录下,而且这里咱们把虚拟环境直接放在工程目录下面。框架

So, 咱们开始建立咱们的一个虚拟环境吧。工具

$ virtualenv /app/local/project/blog

这样,虚拟环境就已经建立好了。咱们能够进入项目目录下,看看到底建立了什么鬼?咱们发如今项目目录中自动建立了三个目录bin、include、lib,这三个目录里面究竟是什么东东呢?网站

  • bin 包含了一些在这个虚拟环境中可用的命令,以及开启虚拟环境的脚步activate;
  • incloud 包含了虚拟环境中的头文件,以及Python的头文件
  • lib 包含了一些依赖库

如今咱们进入到虚拟环境中吧!怎么进去呢?一条命令便可激活!code

[root@centos02 blog]$ source /app/local/project/blog/bin/activate
(blog) [root@centos02 blog]$

此时是否发现,前面多了一个(blog) 的东东。这就说明咱们如今已经进入到blog虚拟环境中了,一个全新赶忙的python环境

而后咱们能够在当前虚拟环境中安装咱们的最新版本的Django了

(blog) [root@centos02 blog]$ pip install django
Collecting django
  Downloading 
  [...]
Installing collected packages: django
Successfully installed django-1.10.4
(blog) [root@centos02 blog]$

搞定了。

这样再使用Django 就不会被宿主机的老版本干扰了。

完成工做了,该怎么退出这个虚拟环境回到宿主机呢,So Easy! 一条命令就能搞定!

(blog) [root@centos02 blog]$ deactivate
[root@centos02 blog]$

看,前面的(blog)消失了,说明咱们已经回到了宿主机!

咱们每次要进入到指定虚拟环境,要必须知道虚拟环境所在的路径,才能知道虚拟环境入口!此时确定会有人产生疑问了,假如我建立了多个虚拟环境,时间一长,忘记了每一个虚拟环境的路径在哪里,那岂不是。。。

没错,若是忘记了虚拟环境目录,那就真的是找不到入口了。

聪明的人总会找到聪明的办法。我把全部的虚拟环境都放在一个目录中中,而且按照规则命名,那就确定不会找不到喽!聪明,下面就要引入virtualenv的管理工具virtualenvwrapper

virtualenvwrapper将更便捷的管理虚拟环境,具体分析,请看下回

补充

如要须要删除虚拟环境,直接删除虚拟目录中的binincloudlib这三个目录就行了。

总结

上面啰嗦了这么多,其实就几条明天搞定的事,来总结一下吧!

  • 安装virtualenv

    $ pip install virtualenv
  • 建立虚拟环境

    $ virtualenv /app/local/project/blog
  • 进入虚拟环境

    $ source /app/local/project/blog/bin/activate
  • 退出虚拟环境

    $ deactivate

基本使用就这么多了,So Easy ~

相关文章
相关标签/搜索