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的Django框架完成视频处理任务的教程
Apr 02 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
python 二分查找和快速排序实例详解
Oct 13 Python
python实现kMeans算法
Dec 21 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
Django 缓存配置Redis使用详解
Jul 23 Python
Python中函数的返回值示例浅析
Aug 28 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
Python使用tkinter制作在线翻译软件
Feb 22 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
晶体管单管来复再生式收音机
2021/03/02 无线电
PHP应用JSON技巧讲解
2013/02/03 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
js 小数取整的函数
2010/05/10 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
浅析Jquery操作select
2016/12/13 Javascript
WebPack基础知识详解
2017/01/16 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
[25:45]2018DOTA2亚洲邀请赛4.5SOLO赛 Sylar vs Paparazi
2018/04/06 DOTA
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
Python中正则表达式的详细教程
2015/04/30 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
天猫精选:上天猫,就够了
2016/09/21 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
银行开业庆典方案
2014/02/06 职场文书
企业挂职心得体会
2014/09/10 职场文书
2014年班级工作总结
2014/11/14 职场文书
出生公证书
2015/01/23 职场文书
2015国庆节宣传语
2015/07/14 职场文书
新教师教学工作总结
2015/08/12 职场文书
班委竞选稿范文
2015/11/21 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers