virtualenv 就能解这样的问题,它将创建一个单独的环境,库将安装到自己目录下,不会和其他环境共享。
由于virtualenv用起来有点麻烦,wrapper对它进行了封装,让它更好用,最终我们使用wrapper提供的命令,但是实际工作都是virtualenv做的。
安装
pip install virtualenv virtualenvwrapper
virtualenv用法
创建环境
virtualenv [虚拟环境名称]
virtualenv test
默认创建的环境,是可以使用系统已经安装的包。
如果不想使用系统的包,加上–no-site-packeages参数
virtualenv --no-site-packages test
这个时候会创建目录test
激活环境
cd test
source ./bin/activate
此时,就进入了一个隔离的环境,安装,卸载和使用模块,都会在test环境中,而不会影响系统和其他环境。
退出环境
deactive
virtualenvwrapper的用法
我们可以看到,创建的环境都是零散的,而且还要执行cd,执行source 来激活环境。
vw可以进行环境的管理,把创建的环境记录下来,并进行管理。
初始化
第一次安装完成后需要,先设置一个变量WORKON_HOME,它将作为所有环境的前缀,并且source /usr/local/bin/virtualenvwrapper.sh
$ mkdir -p $WORKON_HOME
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
把export命令和source命令,加入到~/.bash_profile
,就无需重复初始化了
创建环境
mkvirtualenv env1
mkvirtualenv env2
环境创建之后,会自动进入该目录,并激活该环境。
切换环境
workon env1
workon env2
列出已有环境
workon
退出环境
deactivate
删除环境
rmvirtualenv
创建project
项目将创建到PROJECT_HOME目录下,实际上相当于在某个目录下,建了一个环境。
mkproject
我们可以通过 pip freeze > requirements.txt 将本地的虚拟环境安装包相信信息导出来
然后将requirements.txt文件上传到服务器之后运行:
pip install -r requirements.txt
安装依赖包