python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv
一 虚拟环境 virtual environment
它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了,需要Scrapy库,就在开辟一个独立空间来学习Scrapy库相关就行了。
二 前言:为什么要用虚拟环境
在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:
场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;
场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。
Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但是初学者,建议还是不要这么折腾,我们的首要目的是更快的掌握更多的知识,研究virtualenv会花费一些额外的经历,而且意志不强的同学很容易遭受打击,但是这个优点我们还是要记下来的方便以后要用的时候能很快的想起。
三 虚拟环境的安装和使用
本部分将通过命令给出搭建虚拟环境的过程和常见的使用方法:
1.前提必须安装好python环境,并检查电脑系统环境path是否有python路径,
2.安装虚拟环境
打开windows命令终端(cmd)安装虚拟环境 virtualenv(如果你执行了上面查看python版本的语句,那么要先使用exit()方法先退出)
pip3 install virtualenv
它会默认安装到你python库文件lib中,可以看安装完成的地址,里面给出了安装之后的库地址(上面是说我已经安装了,一般第一次安装任何库,看见sucessful就说明成了)
3.创建虚拟环境
通过上面的步骤安装成功之后,我们就可以创建虚拟环境了:virtualenv 虚拟环境名
这个命令创建虚拟环境,会在当前所在目录进行创建,如C:\Users\Smalu(电脑管理者路径)
virtualenv envname
4.进入虚拟环境
先要进入cd到虚拟环境的位置(目录)的Scripts中,然后在激活(activate.bat)虚拟环境,则进入新建的虚拟环境中了。
cd scrapy3env\Scripts
activate.bat
进入之后就可以通过pip3 命令安装需要各种框架依赖包了
5.退出虚拟环境 deactivate.bat
deactivate.bat
四 虚拟环境的配置
通过上面的步骤其实我们就已经完成虚拟环境virtualenv的安装和使用了,但是认真的你肯定发现了上面需要记住每一个虚拟环境的目录,才能进入虚拟环境并操作,很麻烦,下面我们通过另一个配置来简化我们的使用
1.安装 virtualenvwrapper-win
pip3 install virtualenvwrapper-win
2.然后使用workon查看是否安装成功(workon是简化操作的神级命令之一,下面你就可以体会到)
(出现这个,这说明安装成功)、
3.通过新方法新建我们的虚拟环境:mkvirtualenv 虚拟环境名
mkvirtualenv py3scrapy
4.配置。给你虚拟环境安装目录设置一个专门(你想放)的目录
通过上面的步骤,创建虚拟环境,默认放在C:\Users\电脑用户名\Envs目录中
这样可能有时候不满足我们的需求,比如我们想把项目放在其他盘(或其他位置),这样就需要我们自己配置一下环境
4.1 新建要存放大文件夹:如 D:\codeworkpace\python\envs
4.2 配置电脑系统环境变量,->新建系统变量 -> 变量名:WORKON_HOME ->指定路径:D:\codeworkpace\python\envs
通过设置WORKON_HOME路径,就给我们的python虚拟环境指定了一个存放位置:
再次运行workon,目录中没有虚拟环境了,因为默认目录已经改变
那么我们可以将之前的虚拟环境的项目拷贝到新建目录下
再次运行workon,就可以看到该目录下所有的虚拟空间了
5 进入(使用)某个虚拟空间:workon 虚拟空间名
workon #列出所以目录下的空间名
workon py3entest #使用名为py3entest的虚拟空间
#新建虚拟空间的方法依然是:mkvirtualenvs 空间名
6 退出虚拟空间 deactivate
deactivate
总结:配置之后的常用命令
列出虚拟环境列表:workon
新建虚拟环境:mkvirtualenv [虚拟环境名称] ->应该就是make的简写方便理解
启动/切换虚拟环境:workon [虚拟环境名称]
离开虚拟环境:deactivate
python为何需要虚拟环境--Python虚拟环境的安装和配置-virtualenv的更多相关文章
- Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存
Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存 windows下多个python版本共存 https://www.python.org/downloa ...
- Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim
一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...
- Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016
Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Att ...
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- Python入门:Anaconda和Pycharm的安装和配置
Python入门:Anaconda和Pycharm的安装和配置 转自:https://www.cnblogs.com/yuxuefeng/articles/9235431.html 子曰:“工欲善其 ...
- 【转】Python入门:Anaconda和Pycharm的安装和配置
子曰:“工欲善其事,必先利其器.”学习Python就需要有编译Python程序的软件,一般情况下,我们选择在Python官网下载对应版本的Python然后用记事本编写,再在终端进行编译运行即可,但是对 ...
- Python学习记录(一):Anaconda3的安装、配置与使用
简单说下为啥要创建Python虚拟环境呢? 不同的Python工程中用到的包不尽相同,相同包的版本也可能不一样,一种方法是使得各个环境相对独立. 假如说某一个环境崩了,直接remove掉就可以了,不会 ...
- python在windows和linux下的安装和配置
一.windows下安装python3.6 安装编辑器:Ecplise+pydev插件 Eclipse是写JAVA的IDE, 这样就可以通用了,学习代价小. 学会了Eclipse, 以后写Pytho ...
- Ubuntu安装及配置virtualenv,virtualenvwrapeer
安装virtualenv pip install virtualenv 如果下载较慢,可以添加豆瓣源: pip install -i https://pypi.douban.com/simple/ v ...
随机推荐
- Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson
Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等 本人fastJson用了两年,也是从去年才开始接触Gson,希望下面的总结会对博友有用,至于Gso ...
- iOS 10 适配 ATS(app支持https通过App Store审核)
iOS 10 适配 ATS 一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据 ...
- Window: move\copy\xcopy
Move 移动文件和重命名文件与目录. 要移动一个或多个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名目录: MO ...
- laravel @if
- jekyll Mac上各种安装问题总结
Mac上自带了ruby,版本信息如下: qiyongdeMacBook-Air:webproxy qiyong$ ruby -v ruby 2.0.0p481 (2014-05-08 revision ...
- PBOC中文件结构,文件类型解析
1.明确两个规范,a. ISO7816 b.EMV规范/PBOC规范,二者的区别,7816是ISO制定的,是国际规范,而EMV规范是卡组织制定的,是遵循ISO7816规范的,PBOC是抄袭EMV规 ...
- Hibernate环境搭建
Hibernate的环境搭建,主要步骤分为一下四步: 首先创建一个工程,在工程里创建一个实体类User,在这个实体类中必须包含无参的构造器,和这个类对属性的存取方法(getter and setter ...
- not in查询不出数据问题
select ID from SmartCustomer where ID not in (select distinct CustomerID from SmartPromoter where Cu ...
- vs2015发布网站至azure web应用服务
进入www.azure.cn管理门户 1,左下角新建web应用,实例如下,url设置为demo(有防止重名判断) 2,进入demo配置页(左侧web应用下点击demo) 3,demo首页,下载配置文件 ...
- Android 最早使用的简单的网络请求
下面是最早从事android开发的时候写的网络请求的代码,简单高效,对于理解http请求有帮助.直接上代码,不用解释,因为非常简单. import java.io.BufferedReader; im ...