在使用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. nfs共享文件服务搭建

    网络文件共享服务器192.10.19.132yum install -y nfs-utils 在exports文件中添加的从机范围vim /etc/exports/home/nfs/ 192.10.1 ...

  2. Mysql优化ibdata1大小

    在MySQL数据库中,如果不指定innodb_file_per_table参数来单独存在每个表的数据,MySQL的数据都会存放在ibdata1文件.mysql ibdata1存放数据,索引等,是MYS ...

  3. animation和transition做动画的区别

    animation做动画,是不需要去触发的,可以定义一开始就执行 transition做动画,是需要人为触发,才能执行的

  4. PostgreSQL Replication之第八章 与pgbouncer一起工作(2)

    8.2 安装pgbouncer 在我们深入细节之前,我们将看看如何安装pgbouncer.正如PostgreSQL一样,您可以采取两种途径.您可以安装二进制包或者直接从源代码编译.在我们的例子中,我们 ...

  5. centos7 初始化安装

    CENTOS7 初装 一.分区 挂载路径 格式 容量 / xfs 102400 swap 等同内存大小 /home xfs 剩余 二.时区 Asia/Shanghai 三.安装包选择 选择最小化安装 ...

  6. 我的投资案例(3)-看好互联网和金融两大朝阳行业,参投入股垂直金融招聘平台"职业梦CareerDream.cn"

     作为一名喜欢读书,关注中国和欧美国家发展的知识青年,  同时作为一名程序员和对金融投资感兴趣的业余爱好者,本人一直看好  以IT互联网为代表的科技和以投资VC为代表的金融,这2大朝阳行业的发展.   ...

  7. CMSIS-RTOS功能概述

    以下列表简要概述了所有CMSIS-RTOS功能.标有$的函数是可选的.特定的CMSIS-RTOS实现可能无法提供所有功能,但osFeatureXXXX定义明确指出了这一点. 注意 RTX实现不支持的功 ...

  8. 题解 P2068 【统计和】

    这是一道单点修改,区间查询的线段树. 需要实现的操作有三个:建树,更新与查询. 首先,线段树用结构体维护,如下: struct node { int l, r; int val; } tree[max ...

  9. ArcGIS api for javascript——用第二个服务的范围设置地图范围

    描述 本例展示了如何设置地图的范围为地图其中一个图层的范围.本例有两个图层:ArcGIS Online上的世界地图图层ArcGISTiledMapServiceLayer和堪萨斯州的要素的图层ArcG ...

  10. CCNP路由实验之六 动态路由协议之IS-IS

     CCNP路由实验之六动态路由协议之IS-IS 动态路由协议能够自己主动的发现远程网络.仅仅要网络拓扑结构发生了变化.路由器就会相互交换路由信息,不仅能够自己主动获知新添加的网络.还能够在当前网络 ...