在使用python做开发时,如果多人需要在同一台机器上工作,或者机器环境经常变化时,

添加或删除一些python包很可能会影响到你自己的开发环境。

因此,通过virtualenv工具可以创建一个完全属于你自己的虚拟环境。

(其实就是将python相关的一些配置和库放到一个单独的目录下,以后基于这个虚拟环境的python操作都是使用的这个目录)

1.安装virtualenv

virtualenv是一个完全的python包,PyPI网站上面有,使用pip工具可以很方便的安装

# wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
# python get-pip.py
# pip install virtualenv
# pip freeze //查看当前可用的python库里面的包

2.创建一个虚拟python开发环境

# export VIRTUALENV_USE_DISTRIBUTE=true //兼容最新python版本&不兼容旧版本
# mkdir ~/pyworks
# cd ~/pyworks
# virtualenv env //执行以后在~/pyworks目录下会生成env目录,里面包含当前环境所有python相关的库
//启动env虚拟python环境
# source env/bin/activate
(env) xxx # pip freeze //查看当前环境的可用python包
wsgiref==1.0.
(env) xxx # deactivate //退出

3.使用工具管理python虚拟运行环境

以上步骤每次启动的时候都要去找已经生成的环境目录在哪里(~/pyworks/env),不是很方便

可以使用virtualenvwrapper来做这些事:

# pip install virtualenvwrapper //安装virtualenvwrapper,可能有一些依赖,都安装就好了
xxx
/usr/bin/virtualenvwrapper.sh //记下这个文件的位置
xxx
# export WORKON_HOME=/home/pyworks/ //设置环境变量,告诉wrapper你的虚拟环境目录
# locate virtualenvwrapper.sh
# source /usr/bin/virtualenvwrapper.sh

下面是一些virtualenvwrapper相关的命令:

# mkvirtualenv newenv //执行以后WORKON_HOME变量所在的目录下面就有了一个newenv
# workon newenv //启动
(myenv) # deactivate //退出
# rmvirtualenv newenv //删除创建的虚拟环境

当然,你可以将wrapper的设置写到bash里面,以后每次启动的时候都可以直接执行wrapper的命令:

# vim ~/.bashrc
//添加下面的内容
if [ -f /usr/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=/home/pyworks
source /usr/local/bin/virtualenvwrapper.sh
fi

wrapper文档参考: http://www.doughellmann.com/projects/virtualenvwrapper

附:一些好用的python模块

1. dateutil : 简化日期计算

http://labix.org/python-dateutil

2.bpmappers : 简化模型映射(处理JSON)

http://tokibito.bitbucket.org/bpmappers/

3.chardet : 判断字符编码

http://pypi.python.org/pypi/chardet

4.feedparser : RSS订阅解析

http://code.google.com/p/feedparser

5.PIL : 图像处理(python-imaging)

http://www.pythonware.com/products/pil/

6.PyCrypto : 数据加密处理

https://www.dlitz.net/software/pycrypto

参考书籍:python开发实战

使用virtualenv搭建python虚拟开发环境的更多相关文章

  1. 用pyenv和virtualenv搭建单机多版本python虚拟开发环境

    作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试 ...

  2. 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

    作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试 ...

  3. windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  4. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  5. Python虚拟开发环境

    最近,一直在不同版本的Python之间来回折腾,发现了几个Python虚拟开发环境工具,具体如下: 1. Virtualenv,可以指定开发环境的Python版本.继承已有开发环境配置,virtual ...

  6. 转-在Mac OS上搭建Python的开发环境

    在Mac OS上搭建Python的开发环境   本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...

  7. python虚拟开发环境搭建(virtualenv和virtualenvwrapper)

    虚拟开发环境的搭建 (0) 搭建虚拟环境的意义 使不同的开发环境独立 环境升级不影响其他开发环境,也不影响全局 防止包管理的混乱 (1) 指定 虚拟环境的创建目录 环境变量设置 创建 WORKON_H ...

  8. Python虚拟开发环境pipenv

    简介 requests库的作者,requests库的作者,requests库的作者(重要的事情说三遍)的又一力作,囊落了virtualenv, pip, pipfile等作为虚拟开发环境的命令行工具 ...

  9. 使用Anaconda3配置多版本Python虚拟开发环境

    有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...

随机推荐

  1. hdoj--5569--matrix(动态规划)

    matrix Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  2. Random numbers

    Most computer programs do the same thing every time they execute, given the same inputs, so they are ...

  3. mysql InnoDB引擎 共享表空间和独立表空间(转载)

    PS:innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等.对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 1.什么是共享表空间和独占表空 ...

  4. POJ 2248 搜索

    剪枝: 1.从后向前枚举 2.迭代加深 然后就0msAC了 //By SiriusRen #include <cstdio> using namespace std; int n,T,s[ ...

  5. 【DNN发布包解释】package 包裹

    package 包裹 owner 主人 dependency 附属国 azureCompatible 天青兼容 releaseNotes  发行说明 license 许可证 CoreVersion 核 ...

  6. JSONObject与JSONArray的使用区别

    1.JSON 1. 创建一个JSONObject对象: package com.yunos.tv.video.resource.controller.web; import java.util.Arr ...

  7. 从C到OCblocks语法的声明

           在过去的一段时间,我开始从C的一些简单声明到更复杂的学习直到我开始学习了Objective-C中的blocks.我花了很长的一段时间去理解他并且认识到一旦你理解它是怎样组织的并且是怎样产 ...

  8. BAPC 2014 Preliminary(第一场)

    D:Lift Problems On the ground floor (floor zero) of a large university building a number of students ...

  9. GoldenGate 双向复制解决方案

    1 双向复制方案简介 在双向复制(Bidirectional)方案中,可以采用以下两种部署方式: 方式一:配置源和目标数据库可以同时保持Active 状态,同时进行应用系统的事务处理, 此时需由应用系 ...

  10. caffe(4) 激活层(Activation Layers)及参数

    在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的.从bottom得到一个blob数据输入,运算后,从top输入一个blob数据.在运算过程中,没有改变数据的大小,即输入 ...