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编程入门的一些基本知识
May 13 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
python实现BackPropagation算法
Dec 14 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
django ajax json的实例代码
May 29 Python
Python内存读写操作示例
Jul 18 Python
Python使用sort和class实现的多级排序功能示例
Aug 15 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
python如何安装下载后的模块
Jul 03 Python
Pandas 稀疏数据结构的实现
Jul 25 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建立连接并执行SQL语句的代码
2011/07/04 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
基于jquery的Repeater实现代码
2010/07/17 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
使用Javascript简单计算器
2018/11/17 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
优秀求职信范文分享
2013/12/19 职场文书
项目开发计划书
2014/01/09 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
北京天坛导游词
2015/02/12 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js