VirtualEnv 是什么

VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。

为什么要用

- 隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。
- 为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。

怎么用

安装

- pip install virtualenvwrapper
- 把下面这句加到~/.bash_profile里面,如不嫌麻烦,也可以每次都手动执行。
source /usr/local/bin/virtualenvwrapper.sh

常用命令

创新的虚拟环境
- mkvirtualenv [env1]
该命令会帮我们创建一个新环境,默认情况下,环境的目录是.virtualenv/en1,创建过程中它会自动帮我们安装pip,以后我们要安装新依赖时可直接使用pip命令。
创建完之后,自动切换到该环境下工作,可看到提示符变为:
(env1)$
在这个环境下安装的依赖不会影响到其他的环境
- lssitepackages 显示该环境中所安装的包

切换环境
- workon [env]
随时使用“workon 环境名”可以进行环境切换,如果不带环境名参数,则显示当前使用的环境
- deactivate
在某个环境中使用,切换到系统的python环境

其他命令
- showvirtualenv [env] 显示指定环境的详情。
- rmvirtualenv [env] 移除指定的虚拟环境,移除的前提是当前没有在该环境中工作。如在该环境工作,先使用deactivate退出。
- cpvirtualenv [source] [dest] 复制一份虚拟环境。
- cdvirtualenv [subdir] 把当前工作目录设置为所在的环境目录。
- cdsitepackages [subdir] 把当前工作目录设置为所在环境的sitepackages路径。
- add2virtualenv [dir] [dir] 把指定的目录加入当前使用的环境的path中,这常使用于在多个project里面同时使用一个较大的库的情况。
- toggleglobalsitepackages -q 控制当前的环境是否使用全局的sitepackages目录。

virtualenvwrapper的更多相关文章

  1. Python版本共存之道:virtualenv和virtualenvwrapper

    以前觉得根本用不着这个,但是写不同项目的时候就遇到了问题,不可能把之前的全部删掉从新安装,于是就想到了这个,终于还是要学它, 现在做一个命令的总结,方便自己和大家查询 #以下以对 test 为名的虚拟 ...

  2. 聊聊 virtualenv 和 virtualenvwrapper 实践

    各位 Python 的小伙伴肯定多多少少接触过 virtualenv.本文将介绍 virtualenv 以及如何更科学更优雅地使用 virtualenv. virtualenv 首先来聊一下 virt ...

  3. apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境

    前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...

  4. virtualenvwrapper安装使用

    安装 linux和mac下安装 pip install virutalenv virtualenvwrapper windows下安装 pip install virtualenvwrapper-wi ...

  5. [转]virtualenv and virtualenvwrapper

    转自 http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能 ...

  6. virtualenv and virtualenvwrapper on Ubuntu 14.04

    In this post I’ll go over my attempt to setup virtual environments for Python development. Most Pyth ...

  7. 使用VirtualEnvWrapper隔离python项目的库依赖

    是什么 VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装. 为什么要用 - 隔离项目之间的第三方包依赖,如 ...

  8. virtualenv 和 virtualenvwrapper 实践

    virtualenv 首先来聊一下 virtualenv 是个什么鬼. 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题:亦或者是在开发过程中不想让物理环境里充 ...

  9. 使用virtualenvwrapper隔离python环境

    今天使用的是virtualenvwrapper,相较于使用virtualenv, 好处就是把所有环境都放在同一目录下管理,以便更好的管理及切换. 首先需要确认有 pip 是否已经安装, 若没有需要先安 ...

随机推荐

  1. 【转】ASP.NET服务器控件使用之MultiView和View

    MultiView 和 View 控件和制作出选项卡的效果,MultiView 控件是一组 View 控件的容器.使用它可定义一组 View 控件,其中每个 View 控件都包含子控件. 如果要切换视 ...

  2. php download断点

    FileDownload.class.php <?php /** php下载类,支持断点续传 *   Date:   2013-06-30 *   Author: fdipzone *   Ve ...

  3. list如何remove 特别容易出错

    java中对list进行操作很频繁,特别是进行list启遍历,这些操作我们都会,也很熟悉,但是对java中list进行删除元素,remove list中的元素就不怎么熟悉了吧,可以说很陌生,是实际操作 ...

  4. windows系统安装MongoDB

    最近一直在学习node.js,nodejs开发指南中有一个微博的web开发项目,由于该书出的比较早(2012出的),目前为止利用nodejs进行web开发各种组合技术都发生了很大的更新,例如书中选择的 ...

  5. 自动扫描FTP文件工具类 ScanFtp.java

    package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  6. shell随机写入指定文件

    具体思路如下,求代码 shell随机读取file.txt文本,file.txt文本有许多行文字 想用shell随机读取file.txt的任意一行文字并且写入到file.php第四行文件. sed -i ...

  7. [extjs] ExtJS4 treepanel 子节点选中父节点自动选中,选中父节点 子节点自动全部选中

    ExtJS4 treepanel 主要添加viewConfig重的代码: xtype:'treepanel', store: menuStore, id:'menuTreePanel', viewCo ...

  8. 【java】 java 实现mysql备份

    使用java实现mysql的备份: public class MySQLBackUp { /** * Java代码实现MySQL数据库导出 * * @author GaoHuanjie * @para ...

  9. CERT_KEY_CONTEXT_PROP_ID,CERT_KEY_PROV_INFO_PROP_ID,CERT_KEY_PROV_HANDLE_PROP_ID和CERT_KEY_SPEC_PROP_ID

    上面四个属性是CertSetCertificateContextProperty或CertGetCertificateContextProperty可以为证书上下文设置的几个属性,下面对它们的关联简单 ...

  10. JavaScript中的继承模式总结

    一.总结: //js中的几种继承 //原型链的问题,包含引用类型的原型属性会被实例共享,子类型无法给超类型传递参数 function SuperType() { this.colors = [&quo ...