为什么搭建虚拟环境

  搭建 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. phpcms前端模板目录与文件结构分析图【templates】

    phpcms前端模板目录与文件结构分析图[templates] 原文地址:http://www.iphpcms.net/phpcms-ziliao/2015_14.html

  2. MVC SignalR Hub初学

    具体有关SignalR的说明查网上,我这里简单列举一个例子 1.新建MVC,添加SignalR引用(NuGet安装). 2.添加OWIN START类 public class Startup { p ...

  3. CF486D-Valid Sets

    题目 给出一个\(n\)个点的树,每个点有权值\(a_i\),再给出一个\(d\),问有多少个非空点集满足: 点集在树上构成联通子图 \[\max _{v\in S}a_v -\min _{v\in ...

  4. BZOJ5073 小A的咒语(动态规划)

    设f[i][j][0/1]为前i位选j段时其中第i位选/不选最多能匹配到哪,转移时f[i][j][0]→f[i+1][j][0],f[i][j][1]→f[i+1][j][0],f[i][j][1]→ ...

  5. http://www.pythonchallenge.com/ 网站题解

    在知乎中无意发现了这个网站,做了几题发现挺有趣的,这里记录下自己的解题思路,顺便对比下答案中的思路 网页:http://www.pythonchallenge.com/ 目前只做了几题,解题的方法就是 ...

  6. hbase 基本的JavaApi 数据操作及数据过滤(filter)

    本文主要是hbase的表操作.数据操作.数据查询过滤等,如果对JDBC或ADO有了解,容易理解HBASE API. hbase版本是2.0. 1.为了方便先贴helper的部分代码(文末git上有完整 ...

  7. 【刷题】洛谷 P2664 树上游戏

    题目描述 lrb有一棵树,树的每个节点有个颜色.给一个长度为n的颜色序列,定义s(i,j) 为i 到j 的颜色数量.以及 \[sum_i=\sum_{j=1}^ns(i,j)\] 现在他想让你求出所有 ...

  8. 纪念一个日子QAQ

    嗯事情是这样的 今天早上考试的时候不知道为什么特别累,精神并不是很好,T1半平面交裸题  T2当时没有仔细看题,T3想了一段时间后会正解(9:30),但是好像很难写的样子啊.. 但是似乎由于模拟考并不 ...

  9. CSS截取中英文混合字符串长度

    <!doctype html> <html> <head> <meta http-equiv="content-type" content ...

  10. oracle 远程登录sqlplus TNS:无监听

    1.将localhost 改成 计算机名 best-PC,或者ip地址 .  我修改成计算机名,因为经常在无线网络和有限网络之间切换 SID_LIST_LISTENER =  (SID_LIST =  ...