Python的Flask框架的简介和安装方法

   2015-11-15 0
核心提示:这篇文章主要介绍了Python的Flask框架的简介和安装方法,Flask是一款高人气的非常简洁的web开发框架,需要的朋友可以参考下

请在开始使用 Flask 之前阅读本文。也希望本文能够回答关于 Flask 项目的初衷以及目标,以及 flask 适用的场景(情境)等问题。

什么是 “微”?
“微” (“Micro”) 并不是意味着把整个 Web 应用放入到一个 Python 文件,尽管确实可以这么做。当然“微” (“Micro”) 也不是意味 Flask 的功能上是不足的。微框架中的 “微” (“Micro”) 是指 Flask 旨在保持代码简洁且易于扩展。Flask 不会为你做太多的选择,例如选择什么样的数据库。Flask 为你做的是很容易修改的,比如选择什么样的模版引擎。其它的一切取决于你,因此 Flask 能满足你所需要的。

默认情况下,Flask 并不包含数据库抽象层,表单验证或者任何其它现有的库( Django )能够处理的。相反,Flask 支持扩展,这些扩展能够添加功能到你的应用,像是 Flask 本身实现的一样。众多的扩展提供了数据库集成,表单验证,上传处理,多种开放的认证技术等功能。Flask 可能是“微”型的,但是已经能够在各种各样的需求中生产使用。

配置和约定
Flask 有许多带有合理默认值的配置项,也遵循一些惯例。例如:按惯例,模板和静态文件存储在应用 Python 源代码树下的子目录中,而这是可以改变的,你通常不必这么做,尤其是在刚开始的时候。

与 Flask 共同成长
一旦你的 Flask 项目搭建以及运行起来,你会发现在社区中有大量可用的扩展集成到你的生产环境项目中来。Flask 核心团队会审阅这些扩展,确保经过验证过的扩展在未来版本中仍能使用。

随着你的代码库的增长,你能够自由地为你的项目做出恰当的设计决定。Flask 会继续尽 Python 的可能提供一个简单的粘合层。你可以在 SQLAlchemy 或者其它数据库工具中实现高级模式,适当的时候引入非关系型数据持久化,使用框架无关的 WSGI 工具,WSGI 是 Python 的 web 接口。

安装
Flask 依赖两个外部库, WerkzeugJinja2。Werkzeug 是一个 WSGI 工具集,它是 web 应用程序和用于开发和部署的服务器之间的标准接口。Jinja2 负责渲染模板。

因此怎样才能快速地安装这一切了?你有很多种方法去安装,但是最简单粗暴的方式就是 virtualenv, 让我们首先来看看它。

virtualenv
也许 Virtualenv 是你在开发中最愿意使用的,如果你在生产机器上有 shell 权限的时候,你也会愿意用上 virtualenv。

virtualenv 解决了什么问题?如果你像我一样喜欢 Python 的话,有很多机会在基于 Flask 的 web 应用外的其它项目上使用 Python。 然而项目越多,越有可能在不同版本的 python,或者至少在不同 python 库的版本上工作。 我们需要面对这样的事实:库破坏向后兼容性的情况相当常见,而且零依赖的正式应用也不大可能存在。 如此,当你的项目中的两个或更多出现依赖性冲突,你会怎么做?

Virtualenv 的出现解决这一切!Virtualenv 能够允许多个不同版本的 Python 安装,每一个服务于各自的项目。 它实际上并没有安装独立的 Python 副本,只是提供了一种方式使得环境保持独立。让我们见识下 virtualenv 怎么工作的。

如果你在 Mac OS X 或 Linux下,下面两条命令可能会适用:

$ sudo easy_install virtualenv

或者更好的:

$ sudo pip install virtualenv

上述的命令会在你的系统中安装 virtualenv。它甚至可能会出现在包管理器中。如果你使用 Ubuntu ,请尝试:

$ sudo apt-get install python-virtualenv

如果是在 Windows 下并且没有安装 easy_install 命令,你首先必须安装 easy_install 。 一旦安装好 easy_install , 运行上述的命令,但是要去掉 sudo 前缀。

一旦成功安装 virtualenv,运行 shell 创建自己的环境。我通常会创建一个项目文件夹,其下创建 venv 文件夹:

$ mkdir myproject
$ cd myproject
$ virtualenv venv
New python executable in venv/bin/python
Installing distribute............done.

现在,只要你想要在某个项目上工作,只要激活相应的环境。在 OS X 和 Linux 下,按如下做:

$ . venv/bin/activate

如果你是个 Windows 用户,下面的命令行是为你准备的:

$ venv\scripts\activate

无论哪种方式,你现在能够使用你的 virtualenv (注意你的 shell 提示符显示的是活动的环境)。

现在你只需要键入以下的命令来激活你的 virtualenv 中的 Flask:

$ pip install Flask

几秒后,一切就为你准备就绪。

全局安装
这样也是可能的,尽管我不推荐。只需要以 root 权限运行 pip:

$ sudo pip install Flask

(在 Windows 系统上,在管理员权限的命令提示符中运行这条命令,不需要 sudo。)

体验最新的 Flask (Living on the Edge)
如果你想要用最新版的 Flask 干活,这里有两种方式:你可以使用 pip 拉取开发版本, 或让它操作一个 git checkout。无论哪种方式,依然推荐使用 virtualenv。

在一个新的 virtualenv 上获取一个 git checkout,在开发模式下运行:

$ git clone http://github.com/mitsuhiko/flask.git
Initialized empty Git repository in ~/dev/flask/.git/
$ cd flask
$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute............done.
$ . venv/bin/activate
$ python setup.py develop
...
Finished processing dependencies for Flask

这会拉取依赖关系并激活 git head 作为 virtualenv 中的当前版本。然后你只需要执行 git pull origin 来升级到最新版本。

没有 git 下获取最新的开发版本,需要这样做:

$ mkdir flask
$ cd flask
$ virtualenv venv --distribute
$ . venv/bin/activate
New python executable in venv/bin/python
Installing distribute............done.
$ pip install Flask==dev
...
Finished processing dependencies for Flask==dev

Windows 下的 pip 和 distribute
在 Windows 系统下,安装 easy_install 有些棘手,但是仍然很简单。最简单的方式是下载 distribute_setup.py 文件接着运行它。运行这个文件最简单的方式就是打开下载文件夹接着双击这个文件。

接着,把 Python 的 Scripts 文件夹添加到 PATH 环境变量来,这样 easy_install 命令和其它 Python 脚本就加入到了命令行自动搜索的路径。做法是:右键单击桌面上或是“开始”菜单中的“我的电脑”图标,选择“属性”, 然后单击“高级系统设置”(在 Windows XP 中,单击“高级”选项卡),然后单击“环境变量”按钮, 最后双击“系统变量”栏中的“Path”变量,并加入你的 Python 解释器的 Scripts 文件夹。 确保你用分号把它和现有的值分隔开。假设你使用 Python 2.7 且为默认目录,添加下面的值:

;C:\Python27\Scripts

这样就完成了!为了检测是否正常工作,打开命令提示符执行 easy_install。在 Windows Vista 或者 Windows 7 下如果开启了用户账户控制,它应该提示需要管理员权限。

现在已经安装好 easy_install,你能使用它来安装 pip:

> easy_install pip

 
标签: Flask 安装
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Python Flask利用SocketIO库实现图表的绘制
    Python Flask利用SocketIO库实现图表的绘制
    目录实现简单的数据通信使用SocketIO库绘制主机动态图形Flask 默认提供了针对WebSocket的支持插件from flask_socketio import SocketIO 直接通过pip命令安装即可导入使用,前端也需要引入socketIO库文件,其网站首页是:socket.io/实现简单的数据通信新建inde
  • python flask框架学习(三)——豆瓣微信小程序案例(二)整理封装block,模板的继承
    python flask框架学习(三)——豆瓣微信小程序案
    我们所要实现的效果:点击电影的更多,跳转到更多的电影页面;点击电视剧的更多,跳转到更多的电视剧页面。 三个页面的风格相同,可以设置一个模板,三个页面都继承这个模板1.在指定模板之前,把css放在一个文件里   base.css 针对整个大框架的/*清理网页
    02-09
  • Python全栈工程师之从网页搭建入门到Flask全栈项目实战(4) - Flask模板语法与继承
    Python全栈工程师之从网页搭建入门到Flask全栈
    1.Flask模板介绍前置:理解渲染机制即上篇笔记中render_template()功能是如何实现的!1)找到html文件地址2)读取html文件中的内容3)替换html中的特殊字符4)将html的内容发送给浏览器 1 !-- html文件 -- 23 !DOCTYPE html 4 html lang="en" 5 head 6 meta c
    02-09
  • python案例中Flask全局配置示例详解
    目录WEB服务全局配置Flask全局配置before_requestafter_requestFlask自定义中间件WEB服务全局配置在目前的开发过市场当中,有很多WEB服务框架,Flask只是其中之一,但是总体上来看,所有的WEB框架都是依据HTTP协议的逻辑从请求到响应设计的。固然有很多功能是
  • Python Flask 模型介绍和配置方法
    Python Flask 模型介绍和配置方法
    目录Flask数据模型和连接数据库一、安装二、配置数据库连接、创建模型类三、使用命令创建数据库表四、以注册为例Flask数据模型和连接数据库flask是基于MTV的结构,其中M指的就是模型,即数据模型,在项目中对应的是数据库。flask与数据库建立联系有很多方法,
    02-09 PythonFlask
  • Python flask与fastapi性能测试方法介绍
    目录背景apache ab介绍测试计划测试代码测试结果结论背景sy项目通过MQ接受业务系统的业务数据,通过运行开发者开发的python脚本执行业务系统与财务系统数据的一致性校验。sy系统需要每天运行大量的python脚本。目前使用falsk日运行6W+次python脚本,由于性能
  • python flask自定义404错误页面方式
    python flask自定义404错误页面方式
    目录python flask自定义404错误页面这里有些地方需要注意下 Python Flask捕获异常,捕获404错误,errorhandler(),自定义异常处理函数总结python flask自定义404错误页面在用浏览器访问url的时候,如果url不正确会报404错误,默认的404错误太枯燥了,这里我
  • Python利用Flask动态生成汉字头像
    Python利用Flask动态生成汉字头像
    目录基础环境配置加载本地 txt 文件,用于随机生成汉字Pillow 生成图片将图片传递到前端基础环境配置再 Python 的 Flask 框架中,我们使用 Python 的图片处理库(例如 Pillow)来生成一个汉字图片。首先看一个简单的示例,然后再此基础上,进行细节优化。提前
  • Python的Flask框架中SERVER_NAME域名项的配置教
    SERVER_NAME项在Flask的路由配置中至关重要,特别是在配置绝对url和子域名的操作中,这里我们就来看一下Python的Flask框架中SERVER_NAME项的配置教程:
  • 在Python程序和Flask框架中使用SQLAlchemy的教
    SQLAlchemy为Python程序与SQL语句之间建立了映射,是Python操作数据库的利器,这里我们将来看在Python程序和Flask框架中使用SQLAlchemy的教程,需要的朋友可以参考下
点击排行