什么是virtualenv?

virtualenv可以创建独立Python开发环境,比如当前的全局开发环境是python3.6,现在我们有一个项目需要使用django1.3,另一个项目需要使用django1.9,这个时候就可以使用virtualenv创建各自的python开发环境了。

virtualenv的优点

  • 使不同的应用开发环境独立

  • 环境升级不影响其他的应用,也不会影响全局的python开发环境

  • 它可以防止系统中出现包管理混乱和版本的冲突

安装和新建虚拟环境

cmd下输入:前提是你的python安装路径已经被添加到环境变量中
C:\>pip install virtualenv

新建虚拟环境:

C:\>virtualenv testenv
Using base prefix 'c:\\python36'
New python executable in C:\testenv\Scripts\python.exe //默认安装在当前目录下
Installing setuptools, pip, wheel...done.

可以在当前目录下看一下:

激活和关闭当前的虚拟环境

C:\testenv\Scripts>activate           //激活

(testenv) C:\testenv\Scripts>        //注意终端发生了变化
(testenv) C:\testenv\Scripts>deactivate //关闭当前虚拟环境
C:\testenv\Scripts>

列出当前的虚拟环境都安装了哪些包

(testenv) c:\testenv\Scripts>pip3 list
pip (9.0.1)
setuptools (37.0.0)
wheel (0.30.0)

现在你就可以在你创建的虚拟环境下安装需要使用到的包了

virtualenvwrapper

它是virtualenv的扩展包,还记得上面吗?virtualenv需要我们去激活也就是active一下虚拟环境。那我们来看看virtualenvwrapper的优点所在。

c:\>pip install virtualenvwrapper-win   //安装
c:\>mkvirtualenv testenv2 //创建虚拟环境
C:\Users\liubin\Envs is not a directory, creating
Using base prefix 'c:\\python36'
New python executable in C:\Users\liubin\Envs\testenv2\Scripts\python.exe //virtualenvwrapper默认会把虚拟环境放在一个目录下
Installing setuptools, pip, wheel...done.
(testenv3) c:\Users\liubin\Envs\testenv2\Scripts>workon //查看当前有哪些虚拟环境 Pass a name to activate one of the following virtualenvs:
==============================================================================
testenv2
testenv3
(testenv3) c:\Users\liubin\Envs\testenv2\Scripts>workon testenv2 //workon也可以用来切换虚拟环境
(testenv2) c:\Users\liubin\Envs\testenv2\Scripts>

python之virtualenv的简单使用的更多相关文章

  1. python虚拟环境 | virtualenv 的简单使用 (图文)

    一.创建virtualenv虚拟环境 mkvirtualenv -p 版本号 虚拟名 mkvirtualenv -p python3 env_1 python3:版本号 env_1: 虚拟环境名称 创 ...

  2. Linux yum的配置 , python环境管理, nginx搭建简单学习

    Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...

  3. Python常用的库简单介绍一下

    Python常用的库简单介绍一下fuzzywuzzy ,字符串模糊匹配. esmre ,正则表达式的加速器. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable ...

  4. python 多线程就这么简单(续)

    之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...

  5. Python 虚拟环境Virtualenv

    本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境  和 本地环境没有关系,随时可以删除这个隔离 ...

  6. python模块介绍- HTMLParser 简单的HTML和XHTML解析器

    python模块介绍- HTMLParser 简单的HTML和XHTML解析器 2013-09-11 磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.comqq ...

  7. 基于Python使用SVM识别简单的字符验证码的完整代码开源分享

    关键字:Python,SVM,字符验证码,机器学习,验证码识别 1   概述 基于Python使用SVM识别简单的验证字符串的完整代码开源分享. 因为目前有了更厉害的新技术来解决这类问题了,但是本文作 ...

  8. Python的变量及简单数据类型

    Python的变量及简单类型 1.  变量 在Python编程中,变量是用来存放值或对像的容器.变量的名称可以自定义,但需遵循一定的规范,否则可能会引发一些错误.Python的变量可以分为数字.字符和 ...

  9. 配置python虚拟环境Virtualenv及pyenv

    pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...

随机推荐

  1. Linux tomcat 添加开机启动

    准备工作:将 jdk-7u80-linux-x64.tar.gz 解压到到 /usr/local/目录下将 apache-tomcat-7.0.82.zip 解压到/opt/etcoud目录下,并切换 ...

  2. LINQ to Entities 查询中的标准查询运算符

    投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Selec ...

  3. 【MVC】视图页引用分部视图(WebForm叫做用户控件)

    方法一.不经过控制器.动作方法,直接返回Html @Html.Partial("Head","我可以给分布视图传数据") Head是Views/Shared/H ...

  4. eFrameWork学习笔记-eList

    HTML: <div style="margin:8px;"> <h1>.不分页</h1> <asp:Repeater id=" ...

  5. C# 多线程task

    1.异步和多线程的区别?没什么太大区别.异步是目的,使用多线程实现.想想AJAX异步加载,不就是不想让浏览器界面卡住嘛,所以在程序中对于某些单独的操作,比如写日志,我们不想等它完成后再执行其它操作(因 ...

  6. C#基础知识入门概要(自我回顾用)

    一,C#是什么? 人与人之间可以用语言进行交流,我们和计算机交流也是通过语言.我们可以通过语言让一个人做一件我们想让他做事情(他愿意的话~),我们能不能让计算机按照我们的意愿来做事情呢?比如我们让计算 ...

  7. git 使用merge 对本地分支进行合并 并进行代码提交的流程

    1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit 2.假设本地两个分支   用于开发的分支:dev    用于同步远程仓库的分支:mas ...

  8. android learning

    https://www.cnblogs.com/kangjianwei101/p/5621238.html https://blog.csdn.net/write6/article/details/7 ...

  9. [Objective-C语言教程]多态(26)

    多态性这个词表示有许多形式. 通常,当存在类的层次结构并且通过继承相关时,会发生多态性. Objective-C多态表示对成员函数的调用将导致执行不同的函数,具体取决于调用该函数的对象的类型. 考虑下 ...

  10. 字符串模式匹配算法1 - BF和KMP算法

    在字符串S中定位/查找某个子字符串P的操作,通常称为字符串的模式匹配,其中P称为模式串.模式匹配有多种算法,这里先总结一下BF算法和KMP算法. 注意:本文在讨论字符位置/指针/下标时,全部使用C语法 ...