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使用自定义user-agent抓取网页的方法
Apr 15 Python
Python实现SVN的目录周期性备份实例
Jul 17 Python
python并发2之使用asyncio处理并发
Dec 21 Python
Python制作词云的方法
Jan 03 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
python做接口测试的必要性
Nov 20 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Python提取PDF指定内容并生成新文件
Jun 09 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 MYSQL中插入当前时间
2008/04/06 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
php+Ajax无刷新验证用户名操作实例详解
2019/03/04 PHP
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
伦敦的高级牛仔布专家:Trilogy
2018/08/06 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
应届毕业生应聘自荐信
2013/12/07 职场文书
应届毕业生自荐信
2014/05/28 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
安全生产培训心得体会
2016/01/18 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android