Ubuntu下virtualenv、virtualenvwrapper的安装及使用

virtualenv介绍

在python开发中,不同的项目会依赖不同的python环境。virtualenv用于创建独立的Python环境,开发过程中可随时切换,多个Python环境相互独立,互不影响。使用virtualenv可以:

  • 在没有权限的情况下安装新套件
  • 不同应用可以使用不同的套件版本
  • 套件升级不影响其他应用

virtualenv安装

  • 执行命令

    sudo apt-get install python-virtualenv
    
  • 使用方法

    virtualenv [虚拟环境名称-也是目录名称]
    

    比如:

    virtualenv ENV
    

    创建了一个名为ENV的虚拟环境

  • 启动环境

    cd ENV
    source ./bin/activate
    

    ENV为虚拟环境名称,接下来所有模块都只会安装到该目录中去。

    默认情况下,虚拟环境会依赖系统环境中的site packages,如果不想依赖这些package,那么可以加上参数 —no-site-packages建立虚拟环境:

    virtualenv --no-site-packages [虚拟环境名称]
    
  • 退出

    deactivate
    

如果没有启动虚拟环境,系统也安装了pip工具,那么套件将被安装在系统环境中,为了避免发生此事,可以在~/.bashrc文件中加上:

export PIP_REQUIRE_VIRTUALENV=true

或者让在执行pip的时候让系统自动开启虚拟环境:

export PIP_RESPECT_VIRTUALENV=true

virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

  1. 将所有虚拟环境整合在一个目录下
  2. 管理(新增,删除,复制)虚拟环境
  3. 快速切换虚拟环境

安装方法

  • 运行

    pip install virtualenvwrapper
    
  • 创建目录用来存放虚拟环境

    mkdir ~/.virtualenvs
    
  • 在.bashrc中添加

    export WORKON_HOME=~/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
    
  • 运行: source ~/.bashrc

此时virtualenvwrapper就可以使用了。

virualenvwrapper使用方法

  • workon : 列出虚拟环境列表
  • lsvirtualenv : 同上
  • mkvirtualenv : 新建虚拟环境
  • workon [虚拟环境名称] : 切换虚拟环境
  • rmvirtualenv : 删除虚拟环境
  • deactivate : 离开虚拟环境