Python虚拟环境可以使不同的程序使用单独的Python来运行,而不是都使用同一套默认的系统Python环境,不同的Python虚拟环境有着自己独立的Python解释器和三方库,互相隔离,互不影响。比如在电脑上全局(C盘或者其他目录)安装了Flask框架(或其他Python三方库框架),下次你又想使用其他版本的Flask(比如Flask发布了新版本),那有可能这个版本和之前的版本就不兼容,此时你就不能在同一个Python环境上运行不同版本的Flask了。所以就需要用到Python虚拟环境了,不同的虚拟环境安装各自需要的Flask版本和其他库,想要使用哪个版本时就切到对应的虚拟环境就可以了。
venv是Python自带的一个用于创建虚拟环境的插件,安装了Python就可以直接使用,它的使用也比较简单:创建,激活,退出。
python -m venv my_env: 使用默认的Python在当前目录创建一个虚拟环境。如果想要在指定目录下创建虚拟环境, my_env
直接换成对应的路径即可(注意,最后一级目录名直接就是虚拟环境的目录名)。如果想要使用指定的Python解释器,可以修改环境变量之后再运行这个命令,或者cd到对应Python解释器安装路径下再运行这个命令,因为venv是自带的,所以不需要特别指定解释器,只需要运行对应的解释器即可。
my_env\Scripts\activate[activate.bat]: 激活虚拟环境,activate.bat是Windows环境的激活命令。
my_env\deactivate.bat: 退出虚拟环境(Windows环境)。
注: 如果想要删除虚拟环境,直接手动删除对应虚拟环境的目录即可。
安装: pip install virtualenv
virtualenv其实就是“virtual environment”的简写
mkdir Virtualenv: 创建一个目录用于存放所有的虚拟环境(目录名可以自定义)。
cd Virtualenv: 进入创建的Virtualenv目录。
virtualenv [-p C:\Python36\python.exe] flask-env: 使用命令virtualenv(virtualenv此为创建虚拟环境的命令名称)创建属于Flask(flask-env为虚拟环境名称,可以自定义)的虚拟环境,创建时可以使用 -p
参数指定Python解释器,默认使用系统级的全局Python解释器(即配置在环境变量中的Python解释器)。
cd flask-env: 进入创建的虚拟环境(即进入该目录)。
cd Scripts: 进入Scripts目录。
activate/deactivate: 激活/退出该虚拟环境(激活成功后不再是以盘符开头,而是以“(flask-env)”虚拟环境的名称开头),如图:
virtualenvwrapper是一个对虚拟环境操作更加方便和强大的工具,相当于是virtualenv的升级版。
Windows版安装: pip install virtualenvwrapper-win
可以安装virtualenv后再安装virtualenvwrapper,也可以直接安装virtualenvwrapper(没有安装virtualenv时,virtualenvwrapper会先自动安装virtualenv)
mkvirtualenv [--python==C:\Python27\python.exe] new_env: 在一个默认的路径下创建虚拟环境(默认路径为C:\Users\Administrator\Envs,如果不想使用默认路径,可以在环境变量中配置 WORKON_HOME 来指定创建虚拟环境的路径),创建时可以使用 --python
参数指定Python解释器,默认使用系统级的全局Python解释器(即配置在环境变量中的Python解释器)。
workon new_env: 进入某个虚拟环境(不用再cd到虚拟环境的路径,也不用使用命令activate来激活虚拟环境)。
lsvirtualenv: 列出所有虚拟环境(默认路径,或WORKON_HOME指定路径下的虚拟环境,且不会区分是否是自己创建的虚拟环境,哪怕是前两种方式创建的也会列出来)。
rmvirtualenv new_env: 删除某个虚拟环境(同lsvirtualenv命令一样,不会区分是否是自己创建的虚拟环境,只要在指定的路径下,都可以删除)。
cdvirtualenv new_env: cd到某个虚拟环境的路径(已在虚拟环境中),如果还没进入虚拟环境,则cd到该虚拟环境对应的Python解释器路径下。