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中逗号的三种作用实例分析
Jun 08 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
Python数组定义方法
Apr 13 Python
python自动12306抢票软件实现代码
Feb 24 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 Python
Django 导出项目依赖库到 requirements.txt过程解析
Aug 23 Python
python超时重新请求解决方案
Oct 21 Python
基于python实现把图片转换成素描
Nov 13 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
PHP使用内置dir类实现目录遍历删除
2015/03/31 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
使用python Django做网页
2013/11/04 Python
详细解读Python中的__init__()方法
2015/05/02 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
python内置数据类型之列表操作
2018/11/12 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
Python input函数使用实例解析
2019/11/22 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
2020/01/20 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
信息专业本科生个人的自我评价
2013/10/28 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
解除劳动合同协议书
2014/09/17 职场文书
讲座通知范文
2015/04/23 职场文书
红高粱观后感
2015/06/10 职场文书