Python3 venv搭建轻量级虚拟环境的步骤(图文)
作者:舟雨 发布时间:2022-11-26 08:47:16
今天先聊一聊在windows/mac iOS系统下用venv搭建python轻量级虚拟环境的问题。
使用venv搭建的虚拟环境同virtualenv搭建的虚拟环境,即venv可替代virtualenv
1. 虚拟环境的作用是:搭建独立的python运行环境,不与其他产生冲突
就是说,安装在虚拟环境里的所有包,均不会对环境外的其他包产生影响,反之,在虚拟环境下运行时只能调用虚拟环境中安装的包,不会调用外部的包。比如,mac系统自带python2,我搭建了虚拟环境安装python3,那么我在虚拟环境内安装的pip install pandas 后,我在环境外运行python时,import pandas是会报错的
2. 虚拟环境有助于包的管理和防止版本冲突
便于包管理:有时我们要做数据分析,我们需要相关的包,比如pandas,有时我们需要做分词,需要jieba,有时要画图,需要matploylib,只需要其中一个包,其余用不到,那么我们建立虚拟环境后,只要下载相应的包即可
避免版本冲突:在某些时候,我们在开发时,有时需要调用2.7的包,有时需要调用3.6的包,那么就可以通过独立的环境运行,从而完成这项工作,避免了冲突
3. 删除卸载方便
venv建立的虚拟环境是轻量级的,就是说,如果要卸载,或不用了,那么直接删除对应的虚拟环境文件夹即可,同时也删除了对应安装的包,这个补充了”便于包管理"的内容,可以用完即删,很便捷
下面介绍一下虚拟环境的创建方法:
先在window系统安装python3,因为venv是python3独有的工具,Mac/Linux系统也一样,Mac上自带python2,python3的安装可参考文章:
https://www.jb51.net/article/167318.htm
1. Windows系统下创建虚拟环境
选择建立虚拟环境的文件夹,比如桌面,打开windows的dos界面,去到建立虚拟环境的文件夹,cd '文件夹名',这里是cd desktop
两种方法建立虚拟环境文件夹,比如我的虚拟环境文件夹是python_ven_demo:
1. 在文件夹下直接建立:
先新建文件夹python_ven_demo,
然后进入该文件夹cd python_ven_demo,
然后搭建虚拟环境:python -m venv . (注:venv 之后一个空格加上一点“.”)
2. 在桌面上直接建立虚拟环境文件夹 及 虚拟环境:
直接输入 python -m venv python_ven_demo (虚拟环境文件夹名,直接在桌面建立了文件夹,同时生成了虚拟环境)
3. 生成的虚拟环境内容:
4. 激活虚拟环境[注意:只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在全局环境之下]
激活文件在Script文件夹下,如图所示。激活:activate.bat,退出:deactivate.bat
激活方式为:dos 界面进入python_ven_demo/文件夹,然后输入activate.bat (也可直接输入activate)即可激活环境,输入python 就进入python3.6环境了,注,Max/Linux系统可进入python2.7环境,详见后续介绍
退出方式:输入deactivate.bat 或 deactivate
5. 进行包安装:以jieba(分词包)为例
首先需要先激活,在激活后,才可以进行安装,否则安装到的是全局环境下
激活后,pip3 install jieba
下载好后,可在虚拟环境下看到该包安装在了该虚拟环境下,如果删除了该虚拟环境文件夹,则包页一起被删除了,不会对全局有影响
2. Linux/Mac系统下创建虚拟环境
和windos类似,差别不大,所以只简单叙述过程:
1. 建立虚拟环境方法相同,进入目标文件夹cd desktop
使用python -m venv python_ven_demo
或新建文件夹python_ven_demo,进入 cd python_ven_demo,然后python -m venv .
可以看到,文件构成与windos略有不同
2. 激活
激活方法和windos不同,activate文件在bin文件夹下,并且,激活时不可直接输入activate[这样是无效的],而是需要使用source activate 命令:
3. 包安装
同windows,激活后,输入python2,可进入python2.7环境,输入python3,可进入python3.6环境
pip install 可安装2.7对应的包,pip3可安装3.6对应的包
来源:https://blog.csdn.net/qq_22022063/article/details/78979367


猜你喜欢
- 正则表达式(Regular Expression)为字符串模式匹配提供了一种高效、方便的方法。几乎所有高级语言都提供了对正则表达式的支持,或
- 一个有点绕的例子,用PyScripter调试器步进跟踪可以看清楚对 象结构的具体细节。对原作改变了一下,在未定义子对象属性时__getite
- 本文实例讲述了Python json模块dumps、loads操作。分享给大家供大家参考,具体如下:python中json数据的使用。dum
- 接触过 Django 的同学都应该十分熟悉它的 ORM 系统。对于 python 新手而言,这是一项几乎可以被称作“黑科技”的特性:只要你在
- Python有一个不错的3D引擎——UrsinaUrsina官网:www.ursinaengine.
- max_redis.php<?phpset_time_limit (0);for($i=1;$i<=1050;$i++){exe
- 如下所示:mystring.strip().replace(' ', '').replace('\n
- 一、JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON建
- 前言本文主要介绍了关于go语言之包和变量的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。一、包的概念包是go语言
- prototype框架最早是出于方便Ruby开发人员进行JavaScript开发所构建的,从这个版本上更加体现的淋漓尽致。比起1.3.1版本
- 前言本文提供将图片分辨率调整的python代码,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装
- swoole —— 重新定义PHPswoole 的进程之间有两种通信方式,一种是消息队列(queue),另一种是管道(pipe),对swoo
- 前记上一遍文章《Python中Async语法协程的实现》介绍了Python是如何以生成器来实现协程的以及Python Asyncio通过Fu
- 本文实例讲述了Python编程对列表中字典元素进行排序的方法。分享给大家供大家参考,具体如下:内容目录:1. 问题起源2. 对列表中的字典元
- 前言大家都知道Python内置的常量不多,只有6个,分别是True、False、None、NotImplemented、Ellipsis、_
- 不过先前的 调用方法着实有些繁琐,先实例化->添加参数、变量->写入,搞的跟把大象装冰箱里头一样麻烦。好在作者终于注意到这一点,
- 除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,
- 痛点json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。 你是否遇到过json中某个字段
- 目录分页后添加删除功能实现模态框编辑内容完整代码笔记利用layui框架实现分页:layui实现完整表格分页:自己实现分页:# name: m
- vbscript脚本中,fso对象CreateTextFile方法调用时可能会报“无效的过程调用或参数”错误,在使用ASP生成静态页面时,如