Windows下的python虚拟环境设置:

virtualenv

在python开发中,我们可能会遇到一种情况:就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突。在这种情况之下,我们就需要一个工具能够将这两种或几种不同版本的环境隔离开来,需要哪个版本就切换到哪个版本做为默认版本,让每个版本应用都各自拥有一套“独立”的Python运行环境。而virtualenv就可以解决这种情况,它通过创建一个虚拟化的python运行环境,在同一计算机中隔离多个python版本的工具,将我们所需的依赖安装进不同的虚拟环境中,使不同项目之间相互独立、不干扰。也就是说在这个环境中你可以安装私有包,而且不会影响系统中安装的全局Python解释器。

安装: pip install virtualenv

如果安装不成功也可以下载virtualenv源码package,通过执行setup.py来安装virtualenv。同时因为python2和python3的不同,因此也有了两种pip和pip3两种python包安装工具,而两种工具安装的virtualenv也是不相同的,python2安装的virtualenv虚拟化出来的python运行环境是python2的,python3安装的virtualenv默认虚拟环境则是python3的。

使用方法

创建环境:进入要创建的虚拟环境的目录执行下面的命令;

virtualenv [环境名]

这会在当前目录下创建一个独立的Python运行环境,可使用 virtualenv --help 来查看如何使用。

使用环境

新建的Python环境被放到当前目录下的[环境名] 目录。有了[环境名] 这个Python环境:

激活虚拟化环境: [环境名]\Scripts\activate

激活后在命令行的前面会出现新环境名称,表示当前环境是一个名为[环境名] 的Python环境,接下来可使用pip命令安装新环境需要的各种包。(pip命令在创建新环境时自带)

退出虚拟环境

deactivate

此时就回到了正常的环境,现在pip或python均是在系统Python环境下执行。

完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。

virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,用命令[环境名]\Scripts\activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

如果要删除虚拟环境,只需退出虚拟环境后,删除对应的虚拟环境目录即可。不影响其他环境。

virtualenvwrapper

virtualenvwrapper是基于virtualenv之上的工具扩展管理包,它将所有的虚拟环境统一起来,用于更方便管理虚拟环境,它可以做:

将所有虚拟环境整合在一个目录下

管理(新增,删除,复制)虚拟环境

切换虚拟环境

安装

pip install virtualenvwrapper-win

默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量WORKON_HOME来定制。

通过计算机-->属性-->高级系统设置-->环境变量-->在系统变量中新建“变量名”:WORKON_HOME,变量值:“你自定义的路径”。

使用方法

所有的命令可使用:virtualenvwrapper --help 进行查看;

创建基本环境:

mkvirtualenv [环境名]

创建成功之后就会在刚才的WORKON_HOME所设置的目录下创建指定的虚拟环境并且自动进入,退出的话也是使用deactivate。再次进入的话,就不用向virtualenv那样去寻找路径,直接可以使用命令就可以进入虚拟环境:

workon [环境名]

常用的命令还有:

删除环境:rmvirtualenv [环境名]

列出所有环境:workon 或者 lsvirtualenv -b

Windows下的python虚拟环境设置