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 相关文章推荐
netbeans7安装python插件的方法图解
Dec 24 Python
理解Python垃圾回收机制
Feb 12 Python
Python中操作符重载用法分析
Apr 29 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
Aug 13 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
TensorFlow 显存使用机制详解
Feb 03 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
python实现发送邮件
Mar 02 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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
python实现将内容分行输出
2015/11/05 Python
Python实现字典依据value排序
2016/02/24 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
Java中实现多态的机制
2015/08/09 面试题
决定成败的关键——创业计划书
2014/01/24 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
先进人物事迹材料
2014/12/29 职场文书
故宫的导游词
2015/01/31 职场文书
世界地球日活动总结
2015/02/09 职场文书
工伤认定行政答辩状
2015/05/22 职场文书