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使用xlrd模块操作Excel数据导入的方法
May 26 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
python TKinter获取文本框内容的方法
Oct 11 Python
python selenium firefox使用详解
Feb 26 Python
Python3中函数参数传递方式实例详解
May 05 Python
pytorch构建多模型实例
Jan 15 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
Python request使用方法及问题总结
Apr 26 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
详解pandas apply 并行处理的几种方法
Feb 24 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不用正则采集速度探究总结
2008/03/24 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
php常用数学函数汇总
2014/11/21 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
python版本的读写锁操作方法
2016/04/25 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
django框架自定义用户表操作示例
2018/08/07 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
激励员工的口号
2014/06/16 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书