Python Web Flask框架之 Flask 简介及其虚拟环境搭建
Flask简介
对于Python Web开发框架来说,可谓是百花齐放,其中较为主流的有Django、Flask、Pyramid、Bottle以及Tornado等,每种框架都有其独特之处,均具其所适用的场合。相对于其他框架而言,Flask是一个轻量级的Web应用框架,其基于Werkzeug实现的WSGI(Web Server Gateway Interface,Web服务器网关接口)和Jinja2(python应用模板引擎)。Flask的特点是“微小而强大”,其是一个微框架,但其功能并不逊色,实际中所需用到的所有功能均可通过扩展包来实现,如flask-bootstrap、flask-script以及flask-wtf等,这些扩展包相当于一件件装备,Flask装上它们将会变得能加的强大。同时,由于Flask是开源地,其扩展装备也就顺应地可以自己打造,整出一个自己专属风格的Flask。
虚拟环境
基本介绍
什么是虚拟环境?简单来说,可以把虚拟环境理解为一个个独立的“系统环境”,其是基于本机的OS而模拟出的一种与本机相容的且功能相当的环境。对此而言,虚拟环境即为python环境的副本,其与本机python源环境具有一样的功能。
那么我们为什么需要虚拟环境呢?从Python Flask 角度出发,虚拟环境的建立是很有必要的。因为我们知道Flask都是一件件扩展装备装起来的,当打不同的BOSS的时候(对应不同的WEB应用开发),我们的Flask就需要配备不同的武器装备了。在给Flask买装备时,我们就会发现一个问题,如果我们不断地直接给Flask买装备然后装上(这里指在Python源环境中install扩展),那么Python Flask源必然会难以负载且不便管理,这就相当于打大BOSS时候你让Flask把所有武器都带上,很容易想到这是多累。在这时候就需要一个装备仓库了,其中分BOSS类别放了不同的武器包,打什么BOSS就带什么,光看着就知道这样我们的Flask压力会减少很多。这个装备仓库就是我们的系统环境,而不同的武器包则对应不同的虚拟环境,在不同应用开发中对Flask进行不同的扩展,这可减小WEB开发负担,也可简便对开发的管理,且虚拟环境的使用能够帮助开发者灵活地使用不同开发环境,有针对性地使用项目资源。
创建方法
创建虚拟环境的方法有多种,所依赖的包也有很多,其中利用virtualenv库来创建虚拟环境较为简便,在此以其为例,作相关介绍。
第一步——使用pip安装virtualenv库
pip install virtualenv
安装完后可通过查看版本来确认是否成功安装,若正常显示版本号则安装成功
virtualenv --version
第二步——在相应项目文件夹中安装虚拟环境
例如,先创建了项目文件夹flaskproject,然后进入目录,直接执行安装命令,其中第三行venv为虚拟环境的名称,一般习惯取为‘venv’
mkdir flaskproject cd flaskproject virtualenv venv
之后等待其完成安装即可
New python executable in venv/bin/python Installing distribute............done.
使用方法
安装虚拟环境完毕后,就会在相应的文件目录下生成一个虚拟环境文件夹(如上操作则产生文件夹venv)。如需进入虚拟环境,只需要使用相应的激活命令即可
venv\scripts\activate
激活后便可使用虚拟环境来安装Flask和为其添加装备(激活后可视其为本机系统一样使用,且其中的python环境与本机python环境完全独立,互不干扰,即所有通过pip安装的都只会存放在本虚拟环境中,这对于不同的应用管理是很有帮助的)
pip install flask
当不再想使用虚拟环境而想重返本机全局python环境中,一种果断迅猛的方法是直接关闭DOS窗口。当然此外也可以使用一种稍显优雅的方式来注销激活(直接在项目文件夹命令行输入命令)
deactivate