使用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虚拟开发环境
有时候,为了使用比较干净的开发环境,或者为了测试一些版本的扩展库,我们可能需要创建虚拟开发环境,在不同的虚拟开发环境中,只安装需要的扩展库,这样可以最大程度上减少不同扩展库之间的兼容性带来的冲突或其他 ...
随机推荐
- 【转】dig详解
[root@localhost ~]# dig www.a.com ; <<>> DiG 9.2.4 <<>> www.a.com ;; global ...
- iOS开发——设置屏幕亮度
想在APP里面调节屏幕的亮度,这只是个小众需求.而且,虽然可以直接调节手机的亮度,但是它还是个需求,客户有需求,剩下的就是我们的事了,好了,吐槽到此结束. 刚拿到这个需求的人,或许想的是直接对view ...
- MFC的学习路线
首先,MFC是比较难的!比C#和VB要难得多.MFC是基于C++的.首先C++必须熟悉.MFC主要是学习里面的控件的使用. 建议学习路线: 1. 易语言中文编程从入门到精通: https://deta ...
- Linux 中挂载 ISO 文件
在 Linux 中挂载 ISO 文件 用 mount 命令,在终端中输入如下命令即可: sudo mount -o loop filename.iso /cdrom 其中 filename.iso 是 ...
- laravel中soapServer支持wsdl的例子
最近在对接客户的CRM系统,获取令牌时,要用DES方式加密解密,由于之前没有搞错这种加密方式,经过请教了"百度"和"谷歌"两个老师后,结合了多篇文档内容后,终于 ...
- Unity C# 设计模式(三)工厂方法模式
定义: 定义一个创建对象的接口(父类),由子类决定需要实例化哪一个类. 这样,核心工厂类成为了一个抽象角色,不再负责产品的创建,仅提供具体工厂类所必须实现的接口,这样进一步抽象化的好处是使得工厂方法模 ...
- unity SystemInfo类 获得电量battery
我觉得用Unity 开发最爽的地方, 不是unity跨平台,而是用其他语言,要用很复杂的逻辑才能完成的功能,unity用一两句代码就能搞定 就比如说获取Android 系统的电量,不用发广播,不用申请 ...
- CMSIS-RTOS 信号量
信号量Semaphores 和信号类似,信号量也是一种同步多个线程的方式,简单来讲,信号量就是装有一些令牌的容器.当一个线程在执行过程中,就可能遇到一个系统调用来获取信号量令牌,如果这个信号量包含多个 ...
- 【UVa 1347】Tour
[Link]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- django-xadmin使用之更改菜单url
环境:xadmin-for-python3 python3.5.2 django1.9.12 1. 在模块的adminx.py文件中增加以下代码: class AdminSettings(object ...