使用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虚拟开发环境
有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...
随机推荐
- CodeForces 550B Preparing Olympiad(DFS回溯+暴力枚举)
[题目链接]:click here~~ [题目大意] 一组题目的数目(n<=15),每一个题目有对应的难度,问你选择一定的题目(大于r个且小于l个)且选择后的题目里最小难度与最大难度差不小于x, ...
- 34.share_ptr智能指针共享内存,引用计数
#include <iostream> #include <memory> #include <string> #include <vector> us ...
- python3.x学习笔记3(基础知识)
1.集合集合是一个无序的,不重复的数据组合,作用如下: >>去重,把一个列表变成集合,就自动去重 >>关系测试,测试两组数据之前的交集.差集.并集等关系 2.关系运算 交集: ...
- 有用的 Bash 快捷键清单
作者: Sk 译者: LCTT Sun Yongfei 现如今,我在终端上花的时间更多,尝试在命令行完成比在图形界面更多的工作.随着时间推移,我学了许多 BASH 的技巧.这是一份每个 Linux 用 ...
- es6 学习1 let表示变量 、const表示常量 与 var 变量的区别
一.let 1.看下代码,在函数中无论在哪里声明变量,都会自动提到函数顶部,这就是函数变量提升,它的作用于为当前函数中. function aa() { if(bool) { var test = ' ...
- letCode(771 Jewels and Stones )
问题描述: You're given strings J representing the types of stones that are jewels, and S representing th ...
- yii2-Ueditor百度编辑器
今天在网上看了下有关图片上传的教程,历经挫折才调试好,现在把相关代码及其说明贴出来,以供初次使用的朋友们参考. 资源下载 yii2.0-ueditor下载路径: https://link.jiansh ...
- POJ——T 2449 Remmarguts' Date
http://poj.org/problem?id=2449 Time Limit: 4000MS Memory Limit: 65536K Total Submissions: 30754 ...
- 百度API调用实例
今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...
- Units are seconds since 1970.
在Android实际开发过程中常常会碰到以秒为单位的日期.这时能够依据须要将他们进行格式化处理,详细过程例如以下: long seconds=Long.parseLong("14058896 ...