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. 阿里云ECS服务器提示需要修复的漏洞问题

    1.漏洞: RHSA-2018:1842: kernel security, bug fix, and enhancement updateRHSA-2018:2299: NetworkManager ...

  2. java8 运算语法集

    1.分组并进行求和组合运算 示例主要代码: List<String> items = Arrays.asList("apple", "apple", ...

  3. IDEA 导入 Maven 项目后报错 cannot resolve symbol 解决办法

    这两天整理项目,导入新的 Maven 项目时出现 cannot resolve symbol ,即使 rebuild 也没有用.解决办法如下: 1. File -> Close Project: ...

  4. Scala 学习笔记之函数(1)

    class Student { val mySayHello1: String => Unit = sayHello val mySayHello2: (String, Int) => U ...

  5. 快学Scala 第四课 (多维数组,与Java集合的互操作)

    Scala二维数组的定义: val arr2 = Array.ofDim[String](2, 2) arr2(0)(0) = "aa" arr2(1)(0) = "bb ...

  6. C语言I博客作业03

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8717 我在这个课程的目 ...

  7. 两句话掌握python最难知识点——元类

    千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...

  8. Word文档操作知识

    Word文档操作知识 #持续更新 本次更新时间:2019-03-06 14:34 一.换行时字体空间过大 问题情景:当我们编写中文的文档时,中间插入了西方的字体或符号,在以它为行尾换行时: 会出现字体 ...

  9. Android OkHttp + Retrofit 取消请求的方法

    本文链接 前言 在某一个界面,用户发起了一个网络请求,因为某种原因用户在网络请求完成前离开了当前界面,比较好的做法是取消这个网络请求.对于OkHttp来说,具体是调用Call的cancel方法. 如何 ...

  10. 构造函数语义学——Copy Constructor 篇

    构造函数语义学--Copy Constructor 篇 本文主要介绍<深度探索 C++对象模型>之<构造函数语义学>中的 Copy Constructor 构造函数的调用时机 ...