1、创建虚拟环境

(1)打开Windows命令窗口,输入命令(先确保电脑上安装了Anaconda):

conda create -n FlaskPath python=3.5.2

  FlaskPath为虚拟环境的名字,3.5.2是python的版本

(2)激活虚拟环境,命令:

activate FlaskPath

为什么使用虚拟环境?

  在实际项目开发中,我们会根据自己的需求去下载各种各样的框架库,如Django、Flask、Scrapy等;但是每个项目使用的框架库不一样,或使用的框架版本不一样,这样我们就会根据自己的需求去不断的下载和卸载相应的库,直接对我们的python开发环境进行操作会造成很多不必要的麻烦,管理也相当混乱,因此就用到了虚拟环境来解决这样的问题。

  虚拟环境是一个虚拟化的,从电脑独立开辟出来的环境。通俗来讲,虚拟环境就是借助虚拟机Docker来把一部分内容独立出来,我们把这个独立出来的东西称为“容器”,在这个容器中,我们只安装项目需要用到的依赖包,各个容器间互不影响,相互隔离。

2、安装Flask框架

在虚拟环境中输入命令:

pip install flask==1.1.1

  这里的1.1.1指的是Flask的版本号,在执行上述命令的时候,我们安装了以下五个依赖包

3、Django、Flask和Tornado的比较

(1)Django的特点

优点:

  • 功能完善,要素齐全,自带大量常用工具和框架,适合快速开发企业级网站;
  • 完善的文档,经过十多年的发展,Django有广泛的实践案例和完善的在线文档,开发者在遇到问题时可以搜索在线文档寻求解决方案;
  • 拥有强大的数据库访问组件,Django的Model层自带数据库ORM组件,使得开发者无需使用sql语句就可以对数据库进行操作;
  • 自带后台管理系统admin,只需要几行简单的配置和代码就可以实现一个完整的后台管理控制平台;
  • DeBug信息详尽,方便开发者快速的找到错误所在。

缺点:

  • 大包大揽,对于一些轻量级的web应用不需要的功能在django中也包括了;
  • 过度封装,很多类和方法在django中都封装了,直接使用更为简单,但改动起来比较困难;
  • 性能劣势,与C、C++性能上相比,Django的性能偏低,当然这是python的锅,其它基于python的web框架在流量上来后也会棉铃同样的问题;
  • 模板问题,Django的模板实现了代码和样式的完全分离,不允许模板里出现python代码,灵活度对某些程序员来说可能不够。

分析:

  Django提供的方便,也意味着Django内置的ORM与框架内的其他木块耦合程度高,应用程序必须使用Django内置的ORM,否则就不能使用框架内基于其ORM提供的种种便利;理论上可以切换掉其ORM,但这就相当于把装修好的房子拆除后重新装修,倒不如一开始就去毛坯房做全新的装修。Django的卖点是它超高的开发效率,其性能扩展性有限

(2)Flask的特点

  • Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的python库;
  • 非常适合于开发小型网站,非常适合于开发web服务的API;
  • 开发大型网站无压力,但是代码架构需要自己设计,开发成本取决于开发者的能力和经验;
  • Django自带的或第三方的好评如潮的功能,在Flask总能找到与之类似的第三方库;
  • Flask与关系型数据库的配合使用不弱于Django,而其与nosql数据库的配合远远优于Django。

(3)Tornado的特点

优点:

  轻量、异步非阻塞IO处理方式,出色的抗负载能力,协程带来优益的处理性能

缺点:

  没有ORM,提供的支持和模板少,缺少后台支持,对于小型项目来说开发速度没有Django快

分析:

  Tornado所谓的缺点是由它的设计理念所决定的,设计上就决定它是一个小而精的http服务器+轻量级web框架,高并发处理才是它真正擅长的

Flask:项目的准备工作的更多相关文章

  1. Flask:第一个Flask项目

    在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask im ...

  2. [转]基于Starling移动项目开发准备工作

    最近自己趁业余时间做的flash小游戏已经开发得差不多了,准备再完善下ui及数值后,投放到国外flash游戏站.期间也萌生想法,想把游戏拓展到手机平台.这两天尝试了下,除去要接入ane接口的工作,小游 ...

  3. flask 项目的开发经验总结

    已经开发了几个flask项目, 是时候总结一下了, 这里涉及到项目源码的组织, 常用的包, 源码示例. =========================需要的 python 包有:========= ...

  4. Python框架 Flask 项目实战教程

    本文目的是为了完成一个项目用到的flask基本知识,例子会逐渐加深.最好对着源码,一步一步走.下载源码,运行pip install -r requirements.txt 建立环境python db_ ...

  5. 通过VM虚拟机安装Ubuntu server部署flask项目

    1. VM安装Ubuntu server 14.04,系统安装完成后,首先安装pip工具方便之后的包安装,此处需先使用 apt-get install update,apt-get install u ...

  6. flask项目开发中,遇到http 413错误

    在flask项目中,上传文件时后台报http 413 Request Entity Too Large 请求体太大错误! 解决的2种方法: 1.在flask配置中设置 MAX_CONTENT_LENG ...

  7. flask项目部署到阿里云 ubuntu16.04

    title: flask项目部署到阿里云 ubuntu16.04 date: 2018.3.6 项目地址: 我的博客 部署思路参考: Flask Web开发>的个人部署版本,包含学习笔记. 开始 ...

  8. 部署Flask项目到腾讯云服务器CentOS7

    部署Flask项目到腾讯云服务器CentOS7 安装git yum install git 安装依赖包 支持SSL传输协议 解压功能 C语言解析XML文档的 安装gdbm数据库 实现自动补全功能 sq ...

  9. pycharm创建Flask项目,jinja自动补全,flask智能提示

    pycharm创建Flask项目,jinja自动补全,flask智能提示 之前一直都是用在idea里创建空项目然后导入,之后就没有各种的智能提示,在选择文类,选择模板之类的地方就会很麻烦. 步骤1:用 ...

  10. flask 项目基本框架的搭建

    综合案例:学生成绩管理项目搭建 一 新建项目目录students,并创建虚拟环境 mkvirtualenv students 二 安装开发中使用的依赖模块 pip install flask==0.1 ...

随机推荐

  1. 通过父级id获取到其下所有子级(无穷级)——Mysql函数实现

    [需求]某用户只能查看其自己信息及其下级信息,涉及通过该用户所在部门获取其下所有部门(多层)id集合. 步骤一:对数据库进行设置: set global log_bin_trust_function_ ...

  2. eclipse快捷键——纪念我突然失忆的脑子

    常用快捷键 1.快速new出来一个对象    Alt+/ 2.快速格式化代码              Ctrl+I 3.快速导入包                     Ctrl+Shift+O

  3. java基础之循环遍历List和Map

    List和Map是在编程中使用的最频繁的集合类型了,每天都不知道要见它们多少面.在这里介绍下这两种类型的循环遍历,以供学习参考和使用. 一.List 遍历List一般有三种方法,如下: List< ...

  4. 不吹不黑,今天我们来聊一聊 Kubernetes 落地的三种方式

    作者 | 王国梁  Kubernetes 社区成员与项目维护者原文标题<Kubernetes 应用之道:让 Kubernetes落地的"三板斧">,首发于知乎专栏:进击 ...

  5. [Note] CentOS 命令

    1. uninstall software install by yum install yum install -y [package-name] //无-y则交互式安装 yum remove [p ...

  6. redis主从配置 从而实现数据备份和读写分离

    首先打开cmd,用cd找到你的redis文件夹,我的操作是 在你的第一个redis客户端文件夹配置文件中,搜索port,找到如下位置 端口号设置为6379(默认的.后面一个,两个或者多个客户端分别修改 ...

  7. java中的Overload和Override

    Overload为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法 然后再调用时,就会根据不同的参数样式,来选择合适的方法执行 在使用重载时只能通过不同的参数样式. 例 ...

  8. 基于MQTT协议的云端proxy远程登陆

    这篇文件是建立在一下两篇文章基础上完成的 很多重复的内容不会在这章提到 https://www.cnblogs.com/y-c-y/p/11685405.html telnet协议相关 https:/ ...

  9. Python flask构建微信小程序订餐系统☝☝☝

    Python flask构建微信小程序订餐系统☝☝☝ 一.Flask MVC框架结构 1.1实际项目结构 1.2application.py  项目配置文件 Flask之flask-script模块使 ...

  10. STM32串口IAP分享

    什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通 ...