背景:
作为一名pythoner,使用virtualenv来隔离开发环境我相信已经不用我再介绍是为什么了。而virtualenvwrapper
是virtualenv
的一个拓展,可以让我们更加方便的使用和管理多个virtualenv
实例,我们通过二者对比来学习一下。
使用virtualenv的一般流程是:
- 创建虚拟环境:
virtualenv venv
- 激活虚拟环境:
source venv/bin/activate
(windows下是直接venv\Scripts\activate
) - 安装依赖包:
pip install -r requirements.txt
- 退出虚拟环境:
deactive
原理也很简单,就是在激活了当前虚拟环境以后,virtualenv
会修改相关的环境变量,让命令python
和pip
均指向当前的venv
环境。
接下来让我们看看virtualenvwrapper:
virtualenvwrapper 是一个建立在 virtualenv
上的工具,通过它可以方便的创建/激活/管理/销毁虚拟环境。使得virtualenv
变得更加好用
可以通过下面命令安装 virtualenvwrapper
。
pip install virtualenvwrapper
安装后,你需要配置它。下面是我的配置:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source $HOME/.local/bin/virtualenvwrapper.sh
设置 WORKON_HOME
和 source $HOME/.local/bin/virtualenvwrapper.sh
只需要几行代码,这里我是安装了一个用户级别的virtualenvwrapper
将上面的配置添加到~/.zshrc
的末尾,然后将下面的命令运行一次(如果使用的bash
的话,是添加到~/.bashrc
):
source ~/.zshrc
接下来就是使用virtualenvwrapper
了!,来体会一下吧!
- 创建环境
mkvirtualenv env1
mkvirtualenv env2
或者直接创建有依赖的环境:
mkvirtualenv -r requirements.txt <env_name>
环境创建之后,会自动进入该目录,并激活该环境。
- 切换环境
workon env1
workon env2
- 列出已有环境
workon
- 查看当前环境已安装的 packages
$ lssitepackages
- 退出环境
deactivate
- 删除环境
rmvirtualenv
- 创建project
项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。
mkproject