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写的贪吃蛇游戏例子
Jun 16 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
Python字符串处理实现单词反转
Jun 14 Python
python timestamp和datetime之间转换详解
Dec 11 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
python组合无重复三位数的实例
Nov 13 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
python实现查找所有程序的安装信息
Feb 18 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
python爬虫beautifulsoup解析html方法
Dec 07 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
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
仿服务器端脚本方式的JS模板实现方法
2007/04/27 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
Python通过调用有道翻译api实现翻译功能示例
2018/07/19 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
python调试神器PySnooper的使用
2019/07/03 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Django密码存储策略分析
2020/01/09 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
SQL语言面试题
2013/08/27 面试题
Unix控制后台进程都有哪些进程
2016/09/22 面试题
汉语言文学毕业生求职信
2013/10/01 职场文书
大学学习个人的自我评价
2014/02/18 职场文书
材料加工工程求职信
2014/02/19 职场文书
继承公证书
2014/04/09 职场文书
报效祖国演讲稿
2014/09/15 职场文书
先进集体申报材料
2014/12/25 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
化妆品促销活动总结
2015/05/07 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript
JavaScript实现两个数组的交集
2022/03/25 Javascript
改造DE1103三步曲
2022/04/07 无线电
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server