浅谈关于Python3中venv虚拟环境
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。
该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包。他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响python系统环境,也不会影响其他项目的环境。
优点
- 使不同应用开发环境独立
- 环境升级不影响其他应用,也不会影响全局的python环境
- 防止系统中出现包管理混乱和版本冲突
windows创建虚拟环境
安装好的python3的环境,我的python版本是python3.5
我这里演示例子是在c盘根目录建立一个py3目录
进入到这个py3目录
创建虚拟环境
python -m evnv
命令执行完成会在py3目录下看到如下文件
激活虚拟环境
还是在windows cmd下操作:
进入到Scripts,执行activate.bat,如下图表示激活成功
这个时候可以在虚拟环境进入到python3并安装我们需要的包而不会影响我们系统安装的python3的包环境,这里我在虚拟环境中安装了pymysql包,然后分别在虚拟环境和外面的环境中pip list列出包,可以看到,我们外面的包中并没有pymysql包
这样一个虚拟环境我们就配置好了
Mac或linux创建虚拟环境
其实三个平台的方法没什么太大区别,这里通过Mac系统演示,python环境依然是python3.5
还是创建一个py3目录,然后进入到py3目录
localhost:py3 zhaofan$ pwd /Users/zhaofan/py3
创建虚拟环境
python3 -m venv
激活虚拟环境
source bin/activate
如下图:
这样虚拟环境就创建完成
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python3 venv搭建轻量级虚拟环境的步骤(图文)
今天先聊一聊在windows/mac iOS系统下用venv搭建python轻量级虚拟环境的问题. 使用venv搭建的虚拟环境同virtualenv搭建的虚拟环境,即venv可替代virtualenv 1. 虚拟环境的作用是:搭建独立的python运行环境,不与其他产生冲突 就是说,安装在虚拟环境里的所有包,均不会对环境外的其他包产生影响,反之,在虚拟环境下运行时只能调用虚拟环境中安装的包,不会调用外部的包.比如,mac系统自带python2,我搭建了虚拟环境安装python3,那么我在虚拟环境
-
python3利用venv配置虚拟环境及过程中的小问题小结
在利用python进行flask等开发过程中经常需要配置虚拟环境以方便针对不同的项目需求配置不同的生产环境.在python3.3之前,需要利用virtualenv等工具来实现python虚拟开发环境的配置,在python3.3中加入了venv模块支持原生创建虚拟环境.但在python3.3版本中venv模块没有内置pip包,在3.4版本后加入了pip包,创立并激活虚拟环境后可直接使用.本篇以配置一个虚拟 环境并安装flask为例记录我自己配置虚拟环境的过程. 总的来说分为以下三步: 创建虚拟环境
-
浅谈关于Python3中venv虚拟环境
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv. 该venv模块提供了创建轻量级"虚拟环境",提供与系统Python的隔离支持.每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包.他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响python系统环境,也不会影响其他项目的环境. 优点 使不同应用开发环境独立 环境升级不影响其他应
-
浅谈XML Schema中的elementFormDefault属性
elementFormDefault属性与命名空间相关,其值可设置为qualified或unqualified 如果设置为qualified: 在XML文档中使用局部元素时,必须使用限定短名作为前缀 sean.xsd: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sean=&
-
浅谈iOS开发中static变量的三大作用
(1)先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c. 下面是a.c的内容 char a = 'A'; // global variable void msg() { printf("Hello\n"); } 下面是main.c的内容 int main(void) { extern char a; // extern v
-
浅谈Go语言中的结构体struct & 接口Interface & 反射
结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struct类型理解为类,可以定义方法,和函数定义有些许区别: struct类型是值类型. struct定义 type User struct { Name string Age int32 mess string } var user User var user1 *User = &User{} var user2 *User = new(User) struct使用 下面示例中user1和
-
浅谈pyhton学习中出现的各种问题(新手必看)
目前比较杂乱无章,后续还会有一些添加补充 1.标识符 (1)标识符是区分大小写的. (2)标示符以字母或下划线开头,可包括字母,下划线和数字. (3)以下划线开头的标识符是有特殊意义的. 2.参数前加星号(*)的意义 面对实际情况时无法提前得知要传入的参数的个数,因此在参数前加星号从而允许函数接受任意多的参数,情况如下: (1)参数前加一个星号(*),传入的参数存储为元组的形式: (2)参数前加两个星号(*),传入的参数存储为字典的形式,并且调用时采用例如'a=1,b=2,c=3'的形式. 3.
-
浅谈c语言中一种典型的排列组合算法
c语言中的全排列算法和组合数算法在实际问题中应用非常之广,但算法有许许多多,而我个人认为方法不必记太多,最好只记熟一种即可,一招鲜亦可吃遍天 全排列: #include<stdio.h> void swap(int *p1,int *p2) { int t=*p1; *p1=*p2; *p2=t; } void permutation(int a[],int index,int size) { if(index==size) { for(int i=0;i<size;i++) print
-
浅谈spring容器中bean的初始化
当我们在spring容器中添加一个bean时,如果没有指明它的scope属性,则默认是singleton,也就是单例的. 例如先声明一个bean: public class People { private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String get
-
浅谈java Collection中的排序问题
这里讨论list.set.map的排序,包括按照map的value进行排序. 1)list排序 list排序可以直接采用Collections的sort方法,也可以使用Arrays的sort方法,归根结底Collections就是调用Arrays的sort方法. public static <T> void sort(List<T> list, Comparator<? super T> c) { Object[] a = list.toArray(); Arrays.
-
java web学习_浅谈request对象中get和post的差异
阅读目录(Content) •1.get与post的区别 •1.1 get方法 jsp中的代码form表单代码 •1.2 action包中servlet的doGet方法中的代码 •2.运行结果 •2.1 输入数据 •2.2 打印出数据 •3.post方法 •4.对比 •4.1 在输出页面按下F12查看 •5.分析 1.get与post的区别 Get和Post方法都是对服务器的请求方式,只是他们传输表单的方式不一样. 下面我们就以传输一个表单的数据为例,来分析get与Post的区别 1.1 get
-
浅谈iOS应用中的相关正则及验证
1.手机号码的验证正则 正则表达式: ^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$ 详细解释 解释: •^...$: ^:开始 $:结束 中间为要处理的字串 •(13[0-9]): 以13开头接下来一位为0-9之间的数 13 : 以13开头 [0-9]:分割语法,13后面是0-9之间的数 •| : 或(or), 将前后两个匹配条件进行or运算 • (15[^4\\D]) : 以15开头接下来一位是除4之外的0-9数字 15 : 以15开头 [^4\\D
随机推荐
- 浅谈ASP.NET Core 2.0 布局页面(译)
- 利用CSS3新特性创建透明边框三角
- SQL2005日志收缩方法
- 基于Jquery的实现回车键Enter切换焦点
- Extjs 点击复选框在表格中增加相关信息行
- ORACLE11g随RHEL5系统自动启动与关闭的设置方法
- 动态改变div的z-index属性的简单实例
- 一个很有趣3D球状标签云兼容IE8
- Android中实现为TextView添加多个可点击的文本
- Android开发之毛玻璃效果实例代码
- js不能获取隐藏的div的宽度只能先显示后获取
- jQuery实现可高亮显示的二级CSS菜单效果
- Mysql中错误使用SQL语句Groupby被兼容的情况
- jQuery判断iframe中元素是否存在的方法
- C#不同类型的成员变量(字段)的默认值介绍
- Android应用中ListView利用OnScrollListener分页加载数据
- 使用swoole扩展php websocket示例
- Android开发应用第一步 安装及配置模拟器Genymotion
- Android开发环境安装和配置图文教程
- 详解java解决分布式环境中高并发环境下数据插入重复问题