手把手教你进行Python虚拟环境配置教程


Posted in Python onFebruary 03, 2020

/1 前言/

咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下。

/2 虚拟环境的作用/

咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下。

我们先来举个例子,来说明为什么需要虚拟环境。我们在学习Python的时候,可能会学到越来越多的第三方库,比如爬虫,我们需要安装requests,可能学着学着,我们还需要安装bs4,或者又学着学着,我们还需要安装scrapy,再学着学着,又需要安装lxml...

嗯...,没错,我们安装了很多的第三方库,但是我们仍然每天嗨皮敲着代码,丝毫没有发现任何问题。如果你用的是Pycharm,直到有一天,你会发现你的Pycharm会启动越来越慢,就比如下图这样。

手把手教你进行Python虚拟环境配置教程

嗯...我的算是比较快了,因为我有优化过了。

这只是其中一个问题,还有一个问题就是,比如你帮别人做了个东西,肯定所有的功能都不是自己写的,有一些东西是别人写的,你需要安装一些第三方包。之后你咔咔咔把代码写完了,你怀着兴奋的心情把东西发给他,然后他发现自己竟然用不了,而且那边还会报下图所示的错误...

手把手教你进行Python虚拟环境配置教程

然后你还要一步一步一步教他安装,嗯,多么的痛苦!关键是,能一步安装到位还好,但是很可能的是,你用的某个包版本是2.0,现在最新版本是2.2,他那边直接pip install package,安装的是最新版本的包,可能和你的效果不太一样。哦嚯,完了,又是莫名其妙的调试。嗯...骚年,加班吧...

上面说的,只是其中的一些问题,但是大概我们能猜测出来,如果我们不对我们的第三方库加以管理,可能会造成莫名其妙的问题,导致效率低下,bug多,如果是一个团队的话,我想会更糟糕,后果不堪设想。

那说到这里,我们有没有什么办法,能够管理一下这些东西呢?

答案是肯定的,我们能想到这个问题,我们的大佬前辈当然也想到了,他都替我们安排好了,我们来一一讲解。

/3 virtualenv登场/

咱们今天就来说一下Python的虚拟环境,可能有的小伙伴会疑惑,Python的虚拟环境有什么用呢?接下来我们一起来探讨一下。

virtualenv这个是目前最通用的虚拟环境,安装(直接安装最新版)指令是:pip3 install virtualenv,其安装中间过程,这里就不展开了,等着装完就行。这里重点讲一下virtualenv的具体操作步骤。

1、新建虚拟环境列表文件夹,专门用于存放虚拟环境。

手把手教你进行Python虚拟环境配置教程

2、之后输入cmd命令,切换到该虚拟环境文件夹下,如下图所示。

手把手教你进行Python虚拟环境配置教程

3、之后执行命令 virtualenv spider  --no-site-packages,其中参数--no-site-packages表示我们就创建一个干净的、没有第三方包的干净的环境,如下图所示。

手把手教你进行Python虚拟环境配置教程

这样我们就创建了一个虚拟环境,但是此时我们并没有使用,我们在执行pip install package时,依然还是安装那个真实的环境上。

4、接下来我们需要进入并且激活spider虚拟环境。

cd spider

cd Scripts

activate

当前面有显示(spider)时,表示我们已经进入了虚拟环境。这时候我们再执行pip install package时,就可以讲库安装在该新建的虚拟环境里了,如下图所示。

手把手教你进行Python虚拟环境配置教程

5、下图这个是我的虚拟环境。

手把手教你进行Python虚拟环境配置教程

6、下图这个是我的真实环境。

手把手教你进行Python虚拟环境配置教程

7、在虚拟环境中安装第三方包,以安装requests库为例,如下图所示。在虚拟环境中输入安装指令:pip install requests,可以看到库的具体下载进度条。

手把手教你进行Python虚拟环境配置教程

8、Ok,我们创建完了虚拟环境,但是应该怎么退出呢?

直接在虚拟环境中执行deactivate命令,就可以退出虚拟环境了,有的可能需要.bat,有的不需要,如下图所示。

手把手教你进行Python虚拟环境配置教程

退出之后,我们可以看到左边的(spider)已经没有了,进入到了我们的真实环境。如果我们需要再创建虚拟环境,如法炮制就好了。

/4 简单总结/

这篇文章主要介绍了一下Python的虚拟环境,阐述了虚拟环境的重要以及虚拟环境创建、使用和退出的具体操作步骤,希望对大家入门Python虚拟环境有帮助,后面我会写一篇关于Pycharm下如何使用虚拟环境的教程,教大家在Pycharm中导入虚拟环境,让你的环境不再乱糟糟。

本文由dcpeng 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

总结

以上所述是小编给大家介绍的手把手教你进行Python虚拟环境配置教程,希望对大家有所帮助!

Python 相关文章推荐
Python程序设计入门(3)数组的使用
Jun 16 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
Nov 20 Python
Python中字典的setdefault()方法教程
Feb 07 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
Nov 21 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
numpy.meshgrid()理解(小结)
Aug 01 Python
python内置函数sorted()用法深入分析
Oct 08 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
Python如何将函数值赋给变量
Apr 28 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 #Python
python global和nonlocal用法解析
Feb 03 #Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 #Python
解决Tensorflow占用GPU显存问题
Feb 03 #Python
通过Turtle库在Python中绘制一个鼠年福鼠
Feb 03 #Python
python爬虫模块URL管理器模块用法解析
Feb 03 #Python
Tensorflow实现多GPU并行方式
Feb 03 #Python
You might like
一个查看session内容的函数
2006/10/09 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
2011/08/02 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
php中的登陆login实例代码
2016/06/20 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
几个javascript操作word的参考代码
2009/10/26 Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
轮播的简单实现方法
2016/07/28 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
微信小程序 教程之引用
2016/10/18 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python根据距离和时长计算配速示例
2014/02/16 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
深圳茁壮笔试题
2015/05/28 面试题
团日活动策划书
2014/02/01 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
深入理解python多线程编程
2021/04/18 Python
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python