python虚拟环境virtualenv的安装与使用


Posted in Python onSeptember 21, 2017

同一台服务器上部署多个项目时,项目可能使用不同版本的django或者其它不同的python库,这种情况下可以使用virtualenv来创建独立的python运行环境,将不同项目的运行环境隔离出来。 

virtualenv可以创建一个拥有自己安装目录的环境,  能够方便的管理python版本和管理python库。

安装

pip install virtualenv

创建环境

基本命令:

virtualenv ENV

即在ENV目录创建了一个新的虚拟环境。

pip和setuptools已在虚拟环境中自动下载完毕,可以使用这些工具来下载python包。

下载的python包置于ENV/lib/pythonX.X/site-packages中。

当前使用的python解释器为ENV/bin/python。

激活与退出虚拟环境

激活命令:

$ source bin/activate

退出虚拟环境:

$ deactivate

删除虚拟环境

退出虚拟环境后删除目录即可:

(ENV)$ deactivate
$ rm -r /path/to/ENV

继承全局python库

使用以下命令可以创建继承使用/usr/lib/python2.7/site-packages下的python全局库的虚拟环境

virtualenv --system-site-packages ENV

不使用虚拟环境中的python解释器

如果不想或者不能使用虚拟环境中的python解释器bin/python,需要修改使用的python库的路径。

bin目录下有一个文件 activate_this.py:

"""By using execfile(this_file, dict(__file__=this_file)) you will
activate this virtualenv environment.

This can be used when you must use an existing Python interpreter, not
the virtualenv bin/python
"""

更改路径:

activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

生成可打包的环境

$ virtualenv --relocatable ENV

指定python版本

-p PYTHON_EXE, --python=PYTHON_EXE:指定生成的虚拟环境的python版本

virtualenv -p /usr/bin/python2.7 env

uwsgi中使用virtualenv

部署django项目时,可以使用uwsgi的几个选项来指定项目使用的虚拟环境,--home,--virtualenv,--venv,--pyhome选项,都可简写为-H。

在uwsgi配置文件中添加 virtualenv   =  <path to env>或者运行命令时   $ uwsgi -H myenv。

Python 相关文章推荐
Python中列表(list)操作方法汇总
Aug 18 Python
Python实现提取文章摘要的方法
Apr 21 Python
python实现RSA加密(解密)算法
Feb 17 Python
python代码实现ID3决策树算法
Dec 20 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Python实现的直接插入排序算法示例
Apr 29 Python
Pyinstaller 打包exe教程及问题解决
Aug 16 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
python 浮点数四舍五入需要注意的地方
Aug 18 Python
通用的Django注册功能模块实现方法
Feb 05 Python
总结几个非常实用的Python库
Jun 26 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
基于python socketserver框架全面解析
Sep 21 #Python
基于python select.select模块通信的实例讲解
Sep 21 #Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 #Python
Python实现字符串格式化输出的方法详解
Sep 20 #Python
Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
Sep 20 #Python
python select.select模块通信全过程解析
Sep 20 #Python
基于python的字节编译详解
Sep 20 #Python
You might like
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
微信支付PHP SDK ―― 公众号支付代码详解
2016/09/13 PHP
重定向实现代码
2006/11/20 Javascript
js 第二代身份证号码的验证机制代码
2011/05/12 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
js图片轮播插件的封装
2017/07/21 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
Python创建系统目录的方法
2015/03/11 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
Python实现TCP通信的示例代码
2019/09/09 Python
python学习笔记之多进程
2020/08/06 Python
英国电信商店:BT Shop
2019/12/17 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
最新自我评价范文
2013/11/16 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
经济管理专业求职信
2014/06/09 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
优秀党支部申报材料
2014/12/24 职场文书
单位接收证明格式
2015/06/18 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python