Python3 venv搭建轻量级虚拟环境的步骤(图文)


Posted in Python onAugust 09, 2019

今天先聊一聊在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的安装可参考文章:

1. Windows系统下创建虚拟环境                        

选择建立虚拟环境的文件夹,比如桌面,打开windows的dos界面,去到建立虚拟环境的文件夹,cd '文件夹名',这里是cd desktop

两种方法建立虚拟环境文件夹,比如我的虚拟环境文件夹是python_ven_demo:

1. 在文件夹下直接建立:

先新建文件夹python_ven_demo,

然后进入该文件夹cd python_ven_demo,

然后搭建虚拟环境:python -m venv . (注:venv 之后一个空格加上一点“.”)

Python3 venv搭建轻量级虚拟环境的步骤(图文)

2. 在桌面上直接建立虚拟环境文件夹 及 虚拟环境:

直接输入 python -m venv python_ven_demo (虚拟环境文件夹名,直接在桌面建立了文件夹,同时生成了虚拟环境)

Python3 venv搭建轻量级虚拟环境的步骤(图文)

3. 生成的虚拟环境内容:

Python3 venv搭建轻量级虚拟环境的步骤(图文)

4. 激活虚拟环境[注意:只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在全局环境之下]

激活文件在Script文件夹下,如图所示。激活:activate.bat,退出:deactivate.bat

激活方式为:dos 界面进入python_ven_demo/文件夹,然后输入activate.bat (也可直接输入activate)即可激活环境,输入python 就进入python3.6环境了,注,Max/Linux系统可进入python2.7环境,详见后续介绍

退出方式:输入deactivate.bat 或 deactivate

Python3 venv搭建轻量级虚拟环境的步骤(图文)

Python3 venv搭建轻量级虚拟环境的步骤(图文)

5. 进行包安装:以jieba(分词包)为例

首先需要先激活,在激活后,才可以进行安装,否则安装到的是全局环境下

激活后,pip3 install jieba

Python3 venv搭建轻量级虚拟环境的步骤(图文)

下载好后,可在虚拟环境下看到该包安装在了该虚拟环境下,如果删除了该虚拟环境文件夹,则包页一起被删除了,不会对全局有影响

Python3 venv搭建轻量级虚拟环境的步骤(图文)

2. Linux/Mac系统下创建虚拟环境                        

和windos类似,差别不大,所以只简单叙述过程:

1. 建立虚拟环境方法相同,进入目标文件夹cd desktop

使用python -m venv python_ven_demo

或新建文件夹python_ven_demo,进入 cd python_ven_demo,然后python -m venv .

Python3 venv搭建轻量级虚拟环境的步骤(图文)

可以看到,文件构成与windos略有不同

Python3 venv搭建轻量级虚拟环境的步骤(图文)

2. 激活

激活方法和windos不同,activate文件在bin文件夹下,并且,激活时不可直接输入activate[这样是无效的],而是需要使用source activate 命令:

Python3 venv搭建轻量级虚拟环境的步骤(图文)

3. 包安装

同windows,激活后,输入python2,可进入python2.7环境,输入python3,可进入python3.6环境

pip install 可安装2.7对应的包,pip3可安装3.6对应的包

好了,就介绍到这里,如果其中有什么错误,欢迎各位提出意见

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 中文字符串的处理实现代码
Oct 25 Python
python如何查看系统网络流量的信息
Sep 12 Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 Python
使用Python对Excel进行读写操作
Mar 30 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
浅析Python的命名空间与作用域
Nov 25 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
numba提升python运行速度的实例方法
Jan 25 Python
Python Django 命名空间模式的实现
Aug 09 #Python
Mac安装python3的方法步骤
Aug 09 #Python
对python 树状嵌套结构的实现思路详解
Aug 09 #Python
Python  Django 母版和继承解析
Aug 09 #Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
Aug 09 #Python
python实现BP神经网络回归预测模型
Aug 09 #Python
Django ORM 聚合查询和分组查询实现详解
Aug 09 #Python
You might like
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
2019/04/05 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
非常好的js代码
2006/06/27 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
Js数组扁平化实现方法代码总汇
2020/11/11 Javascript
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
浅析python内置模块collections
2019/11/15 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
Python 绘制可视化折线图
2020/07/22 Python
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
两则小学生的自我评价分享
2013/11/14 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
教师求职信怎么写
2015/03/20 职场文书
宪法宣传标语100条
2019/10/15 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python