我们在同时开发不同的python项目时,经常会遇到诸如项目A需要Django1.8,项目B需要Django1.10这种情况。为了满足这种需求,就需要不同项目要有自己”独立“的python环境。
virtualenv就是用来为一个项目创建”独立隔离“的python环境的,virtualenvwrapper为virtualenv提供了一些便利的命令行上的封装,可以更方便的创建、删除、复制、切换不同的虚拟环境。
本着简单好用的原则,这里就不折腾virtualenv,直接用virtualenvwrapper。
操作系统:win10(64位)
python环境:python2.7.13和python3.5.2
多版本python安装可以参考 python2和python3共存以及pip共存
安装virtualenvwrapper
这里我只在python2.7.13安装virtualenvwrapper。
注意:windows系统安装的是virtualenvwrapper-win
,Linux安装的是virtualenvwrapper
。pip2 install virtualenvwrapper-win
virtualenvwrapper将所有的虚拟环境放在%USERPROFILE%\Envs目录下。
创建虚拟环境:
mkvirtualenv [env]
2.1 创建python2.7虚拟环境
由于virtualenvwrapper是安装在python2.7下的,所以直接用mkvirtualenv+环境名
创建就可以了mkvirtualenv env27_new01
创建完之后,自动切换到该环境下工作,可看到提示符变为:(env27_new01)$
由于我删了pip.exe,所以出现了”’python.exe’ 不是内部或外部命令,也不是可运行的程序或批处理文件。“这个提示,不会影响虚拟环境创建的。2.2 创建python3.5虚拟环境
由于virtualenvwrapper是安装在python2.7下的,所以安装python3.5虚拟环境的时候需要指定python路径mkvirtualenv -p d:\Python35\python3.exe env35_new01
退出虚拟环境:
deactivate
切换虚拟环境:
workon [env]
列出虚拟环境:
lsvirtualenv
或者workon
其他命令
showvirtualenv [env]
显示指定环境的详情。rmvirtualenv [env]
移除指定的虚拟环境,移除的前提是当前没有在该环境中工作。如在该环境工作,先使用deactivate退出。也可以直接删除该虚拟环境目录。cpvirtualenv [source] [dest]
复制一份虚拟环境。add2virtualenv [dir] [dir]
把指定的目录加入当前使用的环境的path中,这常使用于在多个project里面同时使用一个较大的库的情况。
好了,介绍到这里,是不是觉得虚拟环境是不是挺简单?使用虚拟环境可以避免很多问题,推荐使用!