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脚本内运行linux命令的方法
Jul 02 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
windows下添加Python环境变量的方法汇总
May 14 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
Python 二叉树的层序建立与三种遍历实现详解
Jul 29 Python
Python PO设计模式的具体使用
Aug 16 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
python:动态路由的Flask程序代码
Nov 22 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php实现图片添加水印功能
2014/02/13 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
Yii2单元测试用法示例
2016/11/12 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
不同Jquery版本引发的问题解决
2013/10/14 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
JS实现的简单四则运算计算器功能示例
2017/09/27 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
使用Python写个小监控
2016/01/27 Python
Python中is与==判断的区别
2017/03/28 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
学院书画协会部门岗位职责
2013/12/01 职场文书
委托书的格式
2014/08/01 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
2016年元旦致辞
2015/08/01 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL