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使用QQ邮箱发送Email的方法实例
Feb 09 Python
Python实现的快速排序算法详解
Aug 01 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
Python实现Linux监控的方法
May 16 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
Python爬虫之爬取淘女郎照片示例详解
Jul 28 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
Python OpenCV形态学运算示例详解
Apr 07 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
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP学习之正则表达式
2011/04/17 PHP
浅谈PHP中的
2016/04/23 PHP
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python实现把xml或xsl转换为html格式
2015/04/08 Python
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
简单易懂的python环境安装教程
2017/07/13 Python
python九九乘法表的实例
2017/09/26 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python实现Zabbix-API监控
2018/09/17 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python操作yaml说明
2020/04/08 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
Camper鞋西班牙官方网上商店:西班牙马略卡岛的鞋类品牌
2019/03/14 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
行政人员工作职责
2013/12/05 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
团拜会策划方案
2014/06/07 职场文书
2015大学生暑假调查报告
2015/07/13 职场文书
新学期主题班会
2015/08/17 职场文书
导游带团欢迎词
2015/09/30 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技