Posts List

管理多Python环境之Virtualenv与Virtualenvwrapper

在《Django 最佳实践与部署》一文中我曾提到过用 virtualenv 创建虚拟环境的好处。今天将结合 virtualenvwrapper—virtualenv 的*终极伴侣*,来具体谈一谈如何利用虚拟环境提高开发效率。 为什么要使用 virtualenv 和 virtualenvwrapper 作为一个完美主义者,不喜欢看到系统site-packages放着各种各样 Python 包。很多包只是因为某个项目需要,而根本没有必要放在全局。我喜欢 virtualenv 这种相互独立环境的概念,就好像有很多房间,每个房间可以有不同装饰,拥有自己个性。 virtualenv 安装 $ pip install virtualenv 创建环境 $ virtualenv ENV # 创建名为‘ENV‘的虚拟环境 $ New python executable in ENV/bin/python $ Installing setuptools, pip...done. 这样就成功创建好一个 python 的虚拟环境,实际上他为你建立了三个目录: bin include lib 这里面包含一个 Python 环境(默认为系统 Python 的版本),一些基本工具(如 easy_install 和 pip)以及一些 symbolic link。而以后的 package 都会装到lib/pythonX.X/site-packages里面。 激活环境 使用虚拟环境之前必须激活,不然 package 还是会装到系统的site-packages里面。 $ source bin/activate 激活成功后,prompt 左边会出现一个括号,里面对应就虚拟环境的名字。这个时候就代表激活成功了,而此时用 pip 安装任何包都会装到虚拟环境的site-packages,对其他项目和系统 Python 环境都完全不影响。