安装:(详细步骤可查阅后面的参考链接[1])
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install pip
sudo pip install virtualenv
第一步是为了安装easy_install, 然后通过easy_install 安装pip(一个类似easy_install的Python包安装工具,配合virtualenv使用效果好)。然后通过pip安装virtualenv
使用:
安装好后直接执行
virtualenv env_dir
source env_dir/bin/activate
就完成环境目录建立,并激活该环境了。最新的1.7版本默认是不使用系统原有的包(等于 --no-site-packages)。
激活环境后,安装的包都会限制在这个环境里(应该就是env_dir目录里),执行deactive 会离开这个环境。
比如安装Yolk (一个列出Python包信息的工具):
如果激活了环境的话,直接执行
pip install yolk
没激活可以用 pip 的 -E 安装包到指定环境
pip install -E env_dir yolk
执行 yolk -l 将可以列出环境下安装的所有包。
移除环境直接删除该目录应该就可以了。
Tips:
推荐安装virtualenvwrapper工具,可以快捷的建立环境和转换环境(还有其他功能),具体见参考[2]
sudo pip install virtualenvwrapper
指定pip的缓存目录,不用每次安装包都去下载:
.bashrc 里加上 PIP_DOWNLOAD_CACHE 环境变量,如
export PIP_DOWNLOAD_CACHE=~/.pip/download_cache
对于 sudo,cache 的 env 设置需要 sudo visudo, 增加如下
Defaults env_keep += "PIP_DOWNLOAD_CACHE"
可以 man sudoers 查看具体帮助。
问题:
- 使用过程中,遇到了一个问题,新建的环境总是使用了系统原有的包,加上 --no-site-packages 也不行。换个机器又没问题。
Update: 似乎是因为我没有在新的环境中安装yolk的原因,所以查看包的时候调用到的是系统原有的yolk。 - e... 能建个Python 3 虚拟环境么? 似乎不需要,直接安装Python 3就可以并存。
virtualenv是Python开发常用的工具之一,它可以帮助开发者建立一个独立的虚拟的环境,开发者可以将自己需要用的python package装入到这个虚拟环境中,这样就和系统全局的其他package隔离了,不会影响系统的package布局,要使用这些安装在虚拟环境中的模块,只需要activate进行该环境就OK了,不activate的话就不能使用那些在虚拟环境中的模块,就像从没安装过一样[1] Notes on using pip and virtualenv with Django « SaltyCrane Blog
via Python开发工具virtualenv的使用 - [Python]
[2] Virtualenv and pip Basics | Jontourage
[3] virtualenv中文文档