在windows下使用VirtualEnv

virtualenv是python的虚拟环境,可以在同一台PC隔离不同的python开发环境。virtualenv可以创建一个隔离的python环境(沙盒)。使用沙盒的优点:

  • 解决库之间的版本依赖,比如同一系统上不同应用依赖同一个库的不同版本。
  • 解决权限限制,比如你没有root权限。
  • 尝试新的工具,而不用担心污染系统环境。

下面是一个在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为两个工作目录创建虚拟环境

C:>Python27\Scripts\virtualenv.exe -p C:\Python27\python.exe c:\tmp\py2_env 
C:>Python27\Scripts\virtualenv.exe -p C:\Python35\python.exe c:\tmp\py3_env

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可以方便的解决不同项目中对类库的依赖问题。这通常是通过以下方式实现的:首先将常用的类库安装在系统环境中;然后为每个项目安装独立的类库环境。这样子可以保证每个项目都运行在独立的类库环境中。


本文简要的介绍如何方便的在Windows环境下使用VirtualEnv进行开发工作。

1、首先在系统中安装virtualenv:

2、构造项目目录,为项目安装虚拟环境:
首先创建了项目文件夹myproject,然后在该文件夹中安装了虚拟环境env。


3、启动虚拟环境,安装所需类库:
在windows中虚拟环境的启动使用命令:your_env_dir\Scripts\activate
默认情况下,virtualenv已经安装好了pip。在启动虚拟环境后直接使用pip install 命令就可以为该虚拟环境安装类库:


4、在虚拟环境中可以进行运行脚本等操作:
脚本代码如下:
在虚拟环境中运行该脚本:


5、离开虚拟环境,使用deactivate命令:


6、在系统环境中,我们并没有安装flask类库,可以对比在系统环境中和虚拟环境中的脚本运行效果:


7、总结:
virtualenv虚拟环境为每个项目隔离了一套运行类库,不同的项目在各自的虚拟环境中使用不同的类库,避免了将所有类库都安装到系统环境中导致的不同项目需要不同(版本)类库的问题,项目与项目之间的类库依存不再成为问题。


参考文献:
1、Python脚本来自于: https://www.shiyanlou.com/courses/document/259
2、《virtualenv的安装和使用》: http://my.oschina.net/lpe234/blog/343639


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值