使用virtualenv搭建python虚拟开发环境
在使用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虚拟开发环境的更多相关文章
- 用pyenv和virtualenv搭建单机多版本python虚拟开发环境
作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试 ...
- 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
作为主流开发语言, 用python 开发的程序越来越多. 方便的是大多linux系统里面都默认集成了python, 开发可以随时随地开始. 但有时候这也成为了一个短板, 比如说有时候我们需要开发和调试 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Python虚拟开发环境
最近,一直在不同版本的Python之间来回折腾,发现了几个Python虚拟开发环境工具,具体如下: 1. Virtualenv,可以指定开发环境的Python版本.继承已有开发环境配置,virtual ...
- 转-在Mac OS上搭建Python的开发环境
在Mac OS上搭建Python的开发环境 本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...
- python虚拟开发环境搭建(virtualenv和virtualenvwrapper)
虚拟开发环境的搭建 (0) 搭建虚拟环境的意义 使不同的开发环境独立 环境升级不影响其他开发环境,也不影响全局 防止包管理的混乱 (1) 指定 虚拟环境的创建目录 环境变量设置 创建 WORKON_H ...
- Python虚拟开发环境pipenv
简介 requests库的作者,requests库的作者,requests库的作者(重要的事情说三遍)的又一力作,囊落了virtualenv, pip, pipfile等作为虚拟开发环境的命令行工具 ...
- 使用Anaconda3配置多版本Python虚拟开发环境
有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...
随机推荐
- m_Orchestrate learning system---二十五、复制类的时候最容易出现的错误是什么
m_Orchestrate learning system---二十五.复制类的时候最容易出现的错误是什么 一.总结 一句话总结:命名空间错误导致Analyze类虽然继承了Base类,但是没有执行里面 ...
- m_Orchestrate learning system---二十六、动态给封装好的控件添加属性
m_Orchestrate learning system---二十六.动态给封装好的控件添加属性 一.总结 一句话总结:比如我现在封装好了ueditor控件,我外部调用这个控件,因为要写数据到数据库 ...
- BZOJ 3223 Splay区间翻转
思路: 区间翻转的裸题 终于tm理解splay了-- //By SiriusRen #include <cstdio> #include <cstring> #include ...
- Spring 4 CustomEditorConfigurer Example--转
原文地址:http://howtodoinjava.com/spring/spring-core/registering-built-in-property-editors-in-spring-4-c ...
- MyBatis多参数传递之注解方式示例--转
原文地址:http://legend2011.blog.51cto.com/3018495/1015003 若映射器中的方法只有一个参数,则在对应的SQL语句中,可以采用#{参数名}的方式来引用此参数 ...
- PostgreSQL Replication之第六章 监控您的设置(4)
6.4 处理监控工具 还有几个监控工具可以使您的日常生活更轻松. 其中最流行的监控工具是Nagios.它被广泛地使用,也支持各种软件组件. 要使用 Nagios 来监控您的 PostgreSQL 集群 ...
- 函数式JS: 原来promise是这样的monad
转载请注明出处: http://hai.li/2017/03/27/prom... 背景 上篇文章 函数式JS: 一种continuation monad推导 得到了一个类似promise的链式调用, ...
- JS获取当前时间(YYYY-MM-DD ),element显示默认当前时间,显示默认昨天,显示默认上个月
原文链接:点我 进来的随便看看,或许有帮助 vue+element-ui datepicker 设置默认日期用的框架是vue+element-ui ,以下是时间控件 <el-form-ite ...
- vue-router路由配置
转自http://www.cnblogs.com/padding1015/ 两种配置方法:在main.js中 || 在src/router文件夹下的index.js中 src/router/index ...
- [洛谷P3927]SAC E#1 - 一道中档题 Factorial
题目大意:求$n!$在$k(k>1)$进制下末尾0的个数. 解题思路:一个数在十进制转k进制时,我们用短除法来做.容易发现,如果连续整除p个k,则末尾有p个0. 于是问题转化为$n!$能连续整除 ...