python之virtualenv的简单使用方法(必看篇)
时间:2019-04-10
本文章向大家介绍python之virtualenv的简单使用方法(必看篇),主要包括python之virtualenv的简单使用方法(必看篇)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
什么是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的简单使用方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- Linux下自动化监控内存、存储空间!
- 深入浅出Redis-redis底层数据结构(下)
- Spring-boot:快速搭建微框架服务
- Mysql重要参数说明
- 深入Java虚拟机--判断对象存活状态
- 梯度下降法快速教程 | 第一章:Python简易实现以及对学习率的探讨
- 梯度下降法快速教程 | 第二章:冲量(momentum)的原理与Python实现
- Java 序列化与反序列化
- Percona Toolkit 常用工具使用介绍
- 深入浅出Redis-redis哨兵集群
- Spring-Blog:个人博客(一)-Mybatis 读写分离
- Spring-boot:5分钟整合Dubbo构建分布式服务
- MYSQL5.6优化器的一个新特性MMR
- Mysql聚集索引和非聚集索引
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android自定义View播放Gif动画的示例
- Android下拉框PopupWindow使用详解
- Android实现自动文本框提示功能
- Android开发实现拍照功能的方法实例解析
- Android开发实现模仿360二维码扫描功能实例详解
- Android中控制和禁止ScrollView自动滑动到底部的方法
- ImageView 实现Android colorPikcer 选择器的示例代码
- Android Notification.Builder通知案例分享
- SimpleCommand实现上传文件或视频功能(四)
- SimpleCommand框架ImageLoader API详解(三)
- Android PopupMenu弹出菜单的实现
- SimpleCommand实现图片下载(二)
- Android中menu使用详解
- SimpleCommand框架介绍以及简单使用(一)
- Android开发中使用achartengine绘制各种图表的方法