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 ZipFile模块详解
Nov 01 Python
Python中的闭包总结
Sep 18 Python
python判断字符串是否包含子字符串的方法
Mar 24 Python
一些Python中的二维数组的操作方法
May 02 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
Python抓取百度查询结果的方法
Jul 08 Python
利用pyinstaller将py文件打包为exe的方法
May 14 Python
详解Python Matplot中文显示完美解决方案
Mar 07 Python
python 命令行传入参数实现解析
Aug 30 Python
python 实现aes256加密
Nov 27 Python
python RSA加密的示例
Dec 09 Python
python的setattr函数实例用法
Dec 16 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
详解php反序列化
2020/06/10 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
python中文编码问题小结
2014/09/28 Python
Python argv用法详解
2016/01/08 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
现金会计岗位职责
2013/12/05 职场文书
小学安全教育材料
2014/02/17 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
办公室副主任职责范本
2014/03/08 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
python神经网络 使用Keras构建RNN训练
2022/05/04 Python