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 enumerate遍历数组示例应用
Sep 06 Python
详解在Python的Django框架中创建模板库的方法
Jul 20 Python
使用Python神器对付12306变态验证码
Jan 05 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
python使用__slots__让你的代码更加节省内存
Sep 05 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
python 安装impala包步骤
Mar 28 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
python 解决微分方程的操作(数值解法)
May 26 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代码
2010/02/16 PHP
php查看网页源代码的方法
2015/03/13 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
JQuery Tab选项卡效果代码改进版
2010/04/01 Javascript
jquery 插件开发备注
2010/08/27 Javascript
JS打印组合功能
2016/08/04 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
在Python中使用__slots__方法的详细教程
2015/04/28 Python
Python  pip安装lxml出错的问题解决办法
2017/02/10 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
pytorch permute维度转换方法
2018/12/14 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python configparser模块常用方法解析
2020/05/22 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
音乐教育感言
2014/03/05 职场文书
给校长的一封建议书
2014/03/12 职场文书
房地产广告词大全
2014/03/19 职场文书
北京故宫的导游词
2015/01/31 职场文书
2015年采购部工作总结
2015/04/23 职场文书
2015社区个人工作总结范文
2015/05/13 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
JavaScript实现队列结构过程
2021/12/06 Javascript
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js