为什么搭建虚拟环境

  搭建 Python 虚拟环境,可以方便的解决不同项目中对类库的依赖问题。当然,也可以方便地Python2,Python3 共存。避免包的混乱和版本的冲突。为每个程序单独创建虚拟环境可以保证程序中能访问虚拟环境中的包,保持解释器环境的干净整洁。每个项目或者环境的类库相对独立,也就解决了共存的问题。

准备环境

  可以在自己的机器上建立两个文件如 python27,python36,然后分别将python2.7 和 3.6 安装在相应的路径下。为了更好的区分和使用,我们可以将他们的可执行文件重命名,然后各自配置环境变量。如:将python3.6的python.exe 重命名为 python3.exe, 然后我们就可以通过 在DOC 命令行中 执行 python3 来启动python3.6的解释器

  

然后通过pip install virtualenv 安装virtualenv 工具。 创建虚拟环境  virtualenv  testenv

指定python 解释器

virtualenv -p D:\python36\python3.exe testenv

  如下:在 E:\VirtualenvWin\EnvPython3 下创建了一个指定解释器为python3.6 的虚拟环境 。

  

激活虚拟环境

testenv\scripts\activate

  

  在启动虚拟环境以后,便可以通过pip install 命令为该环境安装相应的类库。 此时,所有的pip等安装什么的,都是在 env 隔离环境下了,然后就可以安装各种模块了。 不再使用时,将所有文件直接删除即可。

虚拟环境的使用

 虚拟环境激活后,便可以根据工程需求在virtual env上安装相应的依赖包。

其他

#停止 虚拟环境
deactivate #删除虚拟环境
rmvirtualenv testenv #冻结环境(freeze)就是固定当前环境的安装包
#packages.txt 是安装包列表文件
pip freeze> packages.txt #rebuild 一般在部署的时候要先将生产环境需要的安装包进行安装。
pip install -r packages.txt

Windows下注意事项

  在Windows下路径会与*nix下略有不同:脚本和可执行文件在Windows下位于 ENV\Scripts\ 下,而非 ENV/bin/ , 模块也会安装在 ENV\Lib\ 下,而非 ENV/lib/ 。

要在某个含有空格的目录下面创建virtualenv环境,就要安装 win32api 。

相关virtualenv:https://virtualenv-chinese-docs.readthedocs.io/en/latest/

envtest

再续 virtualenv II的更多相关文章

  1. virtualenv and virtualenvwrapper on Ubuntu 14.04

    In this post I’ll go over my attempt to setup virtual environments for Python development. Most Pyth ...

  2. python——虚拟环境之virtualenv(windows10,64位)

    1 问题 当我们拥有两个甚至多个项目A.B.C......,各个项目正常运行需求的python运行环境都不相同.而默认情况下,不管哪个项目,使用的都是全局的Python环境.上述情况,造成的问题就是, ...

  3. windows XP下Python2.7包管理工具安装-setuptool,pip、distribute、nose、virtualenv

    在Python开发中为了对项目进行管理和调试.必须安装一些特定的软件包.据说业内这个叫做yak shaving-做一个非常酷非常绚丽的Python项目之前,必须做的一些枯燥无味的准备工作.本文介绍了s ...

  4. python的沙盒环境--virtualenv

      VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装. 使用 VirtualEnv 的理由: 隔离项目之间 ...

  5. alias导致virtualenv异常的分析和解法

    title: alias导致virtualenv异常的分析和解法 toc: true comments: true date: 2016-06-27 23:40:56 tags: [OS X, ZSH ...

  6. Leetcode 笔记 113 - Path Sum II

    题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...

  7. Leetcode 笔记 117 - Populating Next Right Pointers in Each Node II

    题目链接:Populating Next Right Pointers in Each Node II | LeetCode OJ Follow up for problem "Popula ...

  8. 函数式Android编程(II):Kotlin语言的集合操作

    原文标题:Functional Android (II): Collection operations in Kotlin 原文链接:http://antonioleiva.com/collectio ...

  9. 使用virtualenv搭建python3开发环境

    问题描述 环境: CentOS6.5 想在此环境下使用python3进行开发,但CentOS6.5默认的python环境是2.6.6版本. 之前的做法是直接从源码安装python3,替换掉现有的开发环 ...

随机推荐

  1. Destoon 模板存放规则 及 语法参考

    模板存放规则及语法参考 一.模板存放及调用规则 模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm ...

  2. PHP中类和对象

    面向对象中的基本概念 类和对象 对象:  万物皆对象: 类: 任何对象,都可以人为“规定”为某种类型(类别): class  Person{ var  $name ; var  $age; var   ...

  3. Delphi实现ERP单据列表栏目设置

    什么都不用说了,ERP你懂的.一张报表,不同的客户都可以调死你.直接上图 通过这个设置界面,直接生成参数调整报表所用的DBGridEh.对,是DBGridEh,不是DBGrid,也不是CXGrid. ...

  4. TClientDataSet[5]: 读取数据

    本例用到: TClientDataSet.Fields[];          { 字段集合; 它比 FieldList 有更多功能, 如可获取嵌套字段 } TClientDataSet.FieldL ...

  5. 第166天:canvas绘制饼状图动画

    canvas绘制饼状图动画 1.HTML <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  6. HDU4646_Laser Beam

    题目是这样的,一个等边三角形,三边都是有镜子组成的. 现在要你从一个点射入一条光线,问你如果要求光线在三角形里面反射n次然后从入点射出来的话,入射的方向可能有多少种? 这.....其实不难.关键是要搞 ...

  7. 520的信心赛——点点玩deeeep

                                   3.点点玩 deeeep(deeeep.cpp) 描述 点点最近迷上了 deeeep(此 de 非彼 de),在研究一个特殊的最长树链问题 ...

  8. django 自己编写admin

    继上次CRM项目之后 我们发现了django自带admin的强大之处以及灵活性,但是admin在企业中也一样很难做到完全的对接,因此编写自己的后台管理就显得至关重要. 本次自定义admin项目将接着上 ...

  9. struts2 - View页面中获取Action的成员变量

    struts2 - View页面中获取Action的成员变量 2016年03月02日 11:04:44 IT男青年 阅读数:1074   View页面中获取Action的成员变量 按照Struts的设 ...

  10. 1.Android JUnit Runner(使用AndroidStudio)

    一.Android JUnit Runner介绍 1.Android JUnit Runner 1)是一个测试运行器,用于运行Junit3和Junit4的Android测试包 2)替换Instrume ...