Python虚拟环境virtualenv

前言

实际工作中会遇到这样的问题。
1是安装了多个python版本。因为在python2.x和python3.x同时存在的时代,有应用只支持到python2.x,有应用用的新的python3.x。这不可避免。针对这个已经有了pyenv做这个事,管理多个python版本。

但同时还有一种情况,同一服务器上多个应用用到了同一个包的多个版本。怎么办呢?
如果都装到系统目录,显然是不可行的。virtualenv就正是处理这个问题的。
他为python提供独立的虚拟环境。

使用

使用步骤:

  1. 安装virtualenv pip install virtualenv
  2. 在应用目录内运行virtualenv venv创建虚拟环境。(venv是虚拟环境目录,你可以自己选择自己喜欢的名字) 进行虚拟环境后,shell提示符会变成类似下面这个。
(venv) ➜  mysite vim ~/.pip/pip.conf
  1. 启动虚拟环境source venv/bin/activate。然后做开发、测试、运行。
  2. 如果要退出虚拟环境。运行deactivate

一切就是如此简单。
如此你想在虚拟环境中访问系统库。则在创建虚拟环境时加上--system-site-packages参数即可。
更多参数可以通过virtualenv --help了解,无需去记忆。

后记

值得一提的是因为虚拟环境这么有用。已经有名为tox的工具专门解决这一问题。
另外在Python3.3之后已经内容了venv模块。只是它并不是那么完美。
所以建议不审用virtualenv即可。

Tags: