admin管理员组

文章数量:1567016

virtualenv介绍

在python开发中,我们可能会遇到一种情况,就是当前的项目依赖的是某一个版本,但是另一个项目依赖的是另一个版本,这样就会造成依赖冲突,而virtualenv就是解决这种情况的,virtualenv通过创建一个虚拟化的python运行环境,将我们所需的依赖安装进去的,不同项目之间相互不干扰,如下所示。

windows下安装

通过pip来安装

pip安装virtualenv:pip install virtualenv
pip卸载virtualenv:pip uninstall virtualenv
因为python2和python3的不同,因此也有了两种pip和pip3两种python包安装工具,而两种工具安装的virtualenv也是不相同的,py2安装的virtualenv虚拟化出来的python运行环境是python2的,py3安装的virtualenv默认虚拟化环境则是python3的。

setup方法安装

如果pip安装不成功也可以下载virtualenv源码package,通过执行setup.py来安装virtualenv。在virtualenv的官网下载最新的tar.gz包:https://pypi.python/pypi/virtualenv/15.1.0#downloads

将tar.gz包解压后,目录切换到virutualenv的目录下,然后在执行一下命令:
c:\virtualenv-15.1.0>python setup.py install
值得一提的是,虚拟什么版本的python,一定是这个python提前已经装好了。
首先:准备对哪个目录进行虚拟,就先进入到这个目录下(这里是c:\PythonProj\sjtu-cs ),然后运行命令:virtualenv -p c:\Python36\python.exe HigEnv。

下面是一个在Windows下使用virtualenv的范例和步骤

1 先装一个2.7版本的python,和3.x版本的python,和3.5版本的python,安装目录如下。注意此时不要将py2的路径加到系统环境变量中,如果添加了需要删除,这样才不会和virtualenv的路径发生冲突

C:>Python27\ 
C:>Python35\

2 用py2.7的pip安装virutalenv

C:\Python27\Scripts\pip.exe install virtualenv

3 建立两个目录,分别作为py2和py3的工作环境

C:\tmp\py2_env 
C:\tmp\py3_env

4 用virtualenv为两个工作目录创建虚拟环境
在virtualenv的目录下执行命令:

virtualenv.exe –p E:\ProgramFiles\Python\Python27\python.exe D:\PythonVirtualenv\27virtualenv 
virtualenv.exe –p E:\ProgramFiles\Python\Python37\python.exe D:\PythonVirtualenv\37virtualenv

5 到虚拟环境c:\tmp\py2_env下工作
(1) 切换到Script路径(激活、关闭虚拟环境的工具在这里)

C:\tmp\py2_env>cd Scripts

(2) 执行activate,激活虚拟环境

C:\tmp\py2_env\Scripts>activate

(3) 在虚拟环境下执行python命令,可见打开的是Python2.7的环境(还可以在这里运行pip等py2的工具)

(py2_env) C:\tmp\py2_env>python 
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec…

(4) 用pip为该虚拟环境安装特定版本的依赖库

(py2_env) C:\tmp\py2_env>pip install -r requirements.txt

其中requirements.txt内容为:

  pytz==2015.7
  requests==2.9.1

(5) 执行deactivate.bat退出虚拟环境

(py2_env) C:\tmp\py2_env\Scripts>deactivate.bat

5 到虚拟环境c:\tmp\py3_env下工作
(1) 执行activate,激活虚拟环境

C:\tmp\py3_env\Scripts>activate

(2) 在虚拟环境下执行python命令,可见打开的是Python3.5的环境

(py3_env) C:\tmp\py3_env\Scripts>python 
Python 3.5.1 (v3.5.1:37a07cee5969, Dec…

(3) 执行deactivate.bat退出虚拟环境

(py3_env) C:\tmp\py3_env\Scripts>deactivate.bat

6 如上所述,激活不同的虚拟环境,就能在虚拟环境中使用不同版本的python和不同的依赖,且不同虚拟环境之间是互相独立的。
安装virtualenv结果:

本文标签: WindowsVirtualenv