virtualenvwrapper只是一个 virtualenv 的辅助工具。VirtualEnv 用于在一台机器上创建多个独立的 python 运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。使用 virtualenv 的好处是:

  • 隔离项目之间的第三方包依赖,如 A 项目依赖django1.7,B 项目依赖django1.9。

  • 为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。

安装

Linux/Mac OSX

pip install virtualenv virtualenvwrapper

配置工作目录和项目目录,在 ~/.bashrc 中加入如下内容:

if [ `id -u` != '0' ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    export PROJECT_HOME=$HOME/PyEnvs
    source /usr/local/bin/virtualenvwrapper.sh
fi

当然,还有更多的配置项可以添加,详细使用说明可以查看文档。添加完后如果要立即生效则执行 source ~/.bashrc

Windows

pip install virtualenvwrapper-win

Windows下默认虚拟环境是放在用户名下面的Envs中的,与桌面,我的文档,下载等文件夹在一块的。更改方法:计算机,属性,高级系统设置,环境变量,添加 WORKON_HOME。

常用命令

创建新的虚拟环境

mkvirtualenv [envname]

该命令会帮我们创建一个新环境,默认情况下,环境的目录是 .virtualenv/enname,创建过程中它会自动帮我们安装 pip 等必要的软件,以后我们要安装新依赖时可直接使用 pip 命令。创建完之后,自动切换到该环境下工作,可看到提示符前边多了像(envname)$这样的字符。在这个环境下安装的依赖不会影响到其他的环境。

该命令有几个可选参数:

-a project_path

    与一个工程目录建立关联

-i package

    创建环境时安装相应的包.
    如 -i Flask、-i Flask==0.11.1 或者安装多个包 -i Flask -i locustio

-r requirements_file

    同 pip install -r requirements_file 用法

该命令还支持加入 virtualenv 的参数选项,例如指定环境的 python 版本为 3.5:mkvirtualenv ttenv --python=python3.5

mkproject proname

该命令要求配置 PROJECT_HOME 目录,它在WORKON_HOME 目录下创建一个名为 proname 的虚拟环境,同时在 PROJECT_HOME 目录下创建名为 proname 的项目目录。创建完成后会自动激活虚拟环境,并进入 proname 目录。

mktmpenv

该命令用于创建一个临时的运行环境。

切换与退出环境

切换虚拟环境:

workon envname

退出虚拟环境:

deactivate

环境管理

列出所有环境:

workon

lsvirtualenv

删除环境:

rmvirtualenv [envname]

显示环境详情:

showvirtualenv [envname]

赋值环境:

cpvirtualenv [source] [dest]

列出当前工作环境中安装的包:

lssitepackages