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发布模块的步骤分享
Feb 21 Python
听歌识曲--用python实现一个音乐检索器的功能
Nov 15 Python
对numpy中shape的深入理解
Jun 15 Python
Python3几个常见问题的处理方法
Feb 26 Python
深入了解Django View(视图系统)
Jul 23 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
python操作ini类型配置文件的实例教程
Oct 30 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
Python中requests做接口测试的方法
May 30 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脚本的10个技巧(4)
2006/10/09 PHP
php下获取客户端ip地址的函数
2010/03/15 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
Js动态创建div
2008/09/25 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
js控制input输入字符解析
2013/12/27 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python 字符串常用函数详解
2019/09/11 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
C#笔试题
2015/07/14 面试题
你们项目是如何进行变更控制的
2015/08/26 面试题
大学生求职推荐信
2013/11/27 职场文书
蔬菜基地的创业计划书
2014/01/06 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
2014年企业员工工作总结
2014/12/09 职场文书
财务部岗位职责范本
2015/04/14 职场文书
原告离婚代理词
2015/05/23 职场文书
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript