python中virtualenvwrapper安装与使用


Posted in Python onMay 20, 2018

virtualenv与virtualenvwrapper

当涉及到python项目开发时为了不污染全局环境,通常都会使用环境隔离管理工具virtualenv与virtualenvwrapper。

virtualenv是在项目底下执行生成venv环境目录以此来进行管理,这非常适合使用诸如pycharm这种集成环境配置的开发工具;那么当通过shell来运行virtualenv时便会显得非常麻烦,因为每次shell关闭再打开后都需要重新配置环境参数。

virtualenvwrapper是将所有的python项目虚拟环境环境都存放在一起,在使用shell配合小型开发工具就会非常方便。

virtualenvwrapper安装配置(MAC)

1、使用pip3安装

$ sudo pip3 install virtualenvwrapper

2、新建存放环境目录(笔者目录为Envs并放在Home下)

$ mkdir -p ~/Envs

3、配置virtualenvwrapper环境(使用python3)

i. 打开bash_profile,执行vim ~/.bash_profile并写入

# 设置virtualenvwrapper
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 打开终端自动启用
source /usr/local/bin/virtualenvwrapper.sh

ii. 打开.zshrc,执行vim ~/.zshrc并写入(如果有安装item2与oh-my-zsh)

# 设置virtualenvwrapper
export WORKON_HOME=~/Envs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 打开终端自动启用
source /usr/local/bin/virtualenvwrapper.sh

4、使配置生效

$ source ~/.bash_profile
$ source ~/.zshrc

virtualenvwrapper 使用

1、新建虚拟环境test并指定python版本python3

$ mkvirtualenv test --python=python3

执行lsvirtualenv指令查看所有环境,环境test位于~/Envs/test

$ lsvirtualenv
test
====

2、在项目底下激活虚拟环境test

workon test

3、其他指令

## 退出环境test
deactivate
## 删除环境test
rmvirtualenv test
## 更多指令可以在shell中输入virtualenv回车会有提示

irtualenvwrapper设置环境变量

当我们使用框架时经常需要执行pip install或者 export环境变量等额外的操作,这时就需要使用postactivate等钩子文件(当然钩子文件还有很多,具体感兴趣可以去查看官方文档)。

举个栗子:

想在test虚拟环境激活后设置环境变量

1、打开test的postactivate钩子文件vim ~/Envs/test/bin/postactivate

#!/bin/zsh
# This hook is sourced after this virtualenv is activated.

# 在当前会话加入环境变量
export ENV=dev

2、这时当执行workon test 激活虚拟环境后便会执行postactivate将项目环境变量Env设置为dev

3、在postactivate 中还可以执行诸如pip install -r requirements.txt,pip install -e conf等shell 操作

到目前为止基本的virtualenvwrapper使用就介绍完了

感谢大家对三水点靠木的支持,如果还有任何疑问可以在下方的留言区讨论。

Python 相关文章推荐
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
Python保存MongoDB上的文件到本地的方法
Mar 16 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
Python流行ORM框架sqlalchemy安装与使用教程
Jun 04 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
Django REST framework 单元测试实例解析
Nov 07 Python
Python 跨.py文件调用自定义函数说明
Jun 01 Python
如何利用python读取micaps文件详解
Oct 18 Python
关于python中导入文件到list的问题
Oct 31 Python
python3实现常见的排序算法(示例代码)
Jul 04 Python
django静态文件加载的方法
May 20 #Python
django中静态文件配置static的方法
May 20 #Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 #Python
Python利用公共键如何对字典列表进行排序详解
May 19 #Python
Python中一些不为人知的基础技巧总结
May 19 #Python
Python + selenium自动化环境搭建的完整步骤
May 19 #Python
pandas中去除指定字符的实例
May 18 #Python
You might like
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
简单介绍Ruby中的CGI编程
2015/04/10 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
Python numpy数组转置与轴变换
2019/11/15 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
CSS3实现淘宝留白的方法
2020/06/05 HTML / CSS
一道SQL面试题
2012/12/31 面试题
语文教育专业推荐信范文
2013/11/25 职场文书
应届生简历中的自我评价
2014/01/13 职场文书
社区消防工作实施方案
2014/03/21 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
python 模块重载的五种方法
2021/04/24 Python
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript