一:虚拟环境介绍

黄色部分重点注意
虚拟环境与全局环境:

我们通过pip安装了一个python库,可能在编辑器中不能使用(如:pycharm,vscode…)这是因为:
通过pip安装的库默认一般安装在全局环境中,而PyCharm一般会默认创建虚拟环境,所以两者的环境不一致,导致安装的包不能正常导入使用,解决办法有一般有2种:
       •给PyCharm安装虚拟环境,使库安装虚拟环境中
       •将PyCharm的环境设置为全局环境,即我们通常使用的Python,设置为Python的安装目录即可:
如图下 红框即为全局变量:

安装虚拟环境的原因:

•一般情况下,Python第三方库安装是直接通过pip install xxx的方式进行安装的,这样会使库安装在python全局环境中。
这样做面临的问题:如果用Flask 1.10写了个网站,但是同时有一个Flask 0.9开发的项目需要开发维护,并且有可能Flask 1.10不再兼容Flask 0.9的一些语法,这就需要同时拥有Flask 1.10和Flask 0.9两种不同环境,这时我们就需要通过虚拟环境来解决此类问题。

虚拟环境的安装:

•python中虚拟化管理工具很多,最常用的是pipenv

pipenv的安装:

•Windows下安装:

pip install pipenv

•Mac下安装

brew install pipenv

•Linux下安装

pip install pipenv

虚拟环境创建前的准备:

虚拟环境默认会安装到系统盘(C盘)下的当前用户目录下的== .virtualenvs 目录下,如果想指定安装到其他目录,可以设置系统环境变量==,在系统变量中添加变量,变量名为WORKON_HOME,值为需要指定安装的目录(文件夹)
名字可以自己取 自己可以找到的文件夹
如图所示:

虚拟环境的创建:

•WIN+R 输入cmd进入:

       •进入需要创建虚拟环境的文件夹:

•安装pipenv之后即可创建虚拟环境。创建虚拟环境使用命令pipenv shell 如图所示:

       •安装完成后使用pip list命令,即可看到此虚拟环境安装的库

•虚拟环境安装好之后,可在PyCharm中设置虚拟环境为当前创建的虚拟环境,即定位选择虚拟环境下的python.exe可执行文件,方法与前面相同。

pipfile与pipfile.lock

•在创建虚拟环境后,虚拟环境目录下会生成pipfile文件,内容如下:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"   # 在默认情况使用国外源下载库会非常慢,可以指定国内pip源,
verify_ssl = true [dev-packages]  # 开发环境[packages] # 生产环境[requires] # Python版本
python_version = "3.7"

•pipfile.lock详细记录环境依赖,并且使用了Hash算法以保证完整的对应关系。
       •如果需要将安装的库记录到Pipfile中,可以使用pip install --dev 库名将库安装到开发环境。
       •在虚拟环境中用run参数运行项目示例如下:

pipenv run python manage.py runserver

•pipenv有一个缺点:
       •lock不稳定而且时间非常长,所以安装包的时候记得加上==–skip-lock==,如下:

pipenv install django --skip-lock

•最后开发完成要提交到仓库的时候再执行pipenv lock命令。

Flask的介绍

flask是一款非常流行的Python Web框架,诞生于2010年,作者是Armin Ronacher,这个项目最初只是作者在愚人节的一个玩笑,后来由于非常受欢迎,逐渐成为一个正式的项目。
flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点:
       •微框架、简洁,只做它需要做的,灵活度非常高,给开发者提供了很大的扩展性。
       •Flask不会帮开发者做太多的决策,一切都可以按照自己的意愿进行更改。
       •使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MongoEngine,选择权完全掌握在开发者自己的手中。区别于Django,Django内置了非常完善和丰富的功能,并且如果想替换成开发者想要的,要么不支持,要么非常麻烦。
       •把默认的Jinija2模板引擎替换成其他模板引擎都是非常容易的。
       •Flask和相应的插件写得很好。
       •开发效率非常高,比如使用SQLAlchemy的ORM操作数据库可以节省开发者书写大量sql的时间。

我爱Flask的第一个程序:
# 从flask框架中导入Flask类
from flask import Flask# 传入__name__初始化一个Flask实例
app = Flask(__name__)# 装饰器,将当前路由映射到指定函数
@app.route('/')
def hello_world():return 'Hello World'if __name__ == '__main__':app.run()

•输出结果:

 * Serving Flask app "first" (lazy loading)* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

•1. 此时只需点击图中蓝色网址即可看到输出‘Hello World’
       •2. 也可在在浏览器中打开http://127.0.0.1:5000/

       •当再次返回pycharm时,可以在开启的服务状态栏下看到请求的记录,如:

127.0.0.1 - - [13/Oct/2020 19:19:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [13/Oct/2020 19:19:45] "GET /favicon.ico HTTP/1.1" 404 -

•注意说明
              •@app.route(’/’) :装饰器映射URL和执行的函数。这个设置将URL映射到指定的函数上,例中指定当前路由为根目录,如果为根目录时也可以不写 /,但是尽量写上以示区别。
              •app.run():是让flask项目运行起来,可以指定主机号和端口号。
默认的host是127.0.0.1,port为5000,host=0.0.0.0可以让其他电脑也能访问到该网站,port可以指定访问的端口。

有问题可以在评论指正,欢迎讨论,谢谢大家!!

我爱Flask框架之Flask简介与URL和视图介绍相关推荐

  1. Flask学习之旅——1.3 URL与视图(二)

    Flask学习之旅--1.3 URL与视图(二) 前言 由于本小节内容较多,故分成几篇文章来记录. 本文为<知了传课--URL与视图>的学习笔记. 原文地址:第三节:URL与视图 - Py ...

  2. Flask学习之旅——1.3 URL与视图(一)

    Flask学习之旅--1.3 URL与视图(一) 前言 由于本小节内容较多,故分成几篇文章来记录. 本文为<知了传课--URL与函数的映射>的学习笔记. 原文地址:第三节:URL与视图 - ...

  3. Flask学习之旅——1.3 URL与视图(三)

    Flask学习之旅--1.3 URL与视图(三) 前言 由于本小节内容较多,故分成几篇文章来记录. 本文为<知了传课--URL与视图>的学习笔记. 原文地址:第三节:URL与视图 - Py ...

  4. 主流的分布式调度框架、Elastic-job简介、功能和常用介绍

    主流的分布式调度框架.Elastic-job简介.功能和常用介绍 主流的分布式调度框架 Elastic-job简介 功能 常用 主流的分布式调度框架 elastic-job:由当当网基于quartz ...

  5. python安装flask框架_Python Flask框架的安装

    Flask 框架是 Python 中一个比较重要的框架,在开发网站中极具优势,下面进行具体介绍. FIask框架简介 Flask 是当前流行的 Web 网站框架,它是基于 Python 实现的.Fla ...

  6. Flask框架(1.flask概述,Windows配置 virtualenv虚拟环境步骤和路由以及视图函数的定义)

    框架:      软件框架,指的是为了实现某个业界标准或者完成特别基本任务的软件组件规范,也指为了实现某个软件组建规范时,提供规范所要求之基础功能的软件产品.       框架的功能类似于基础设施,提 ...

  7. flask框架_Flask: flask框架是如何实现非阻塞并发的

    写在前面:Flask框架是通过多线程/多进程+阻塞的socket实现非阻塞,其本质是基于python的源库socketserver实现的 前言 认识WSGI协议 认识Werkzeug flask是如何 ...

  8. 【Python】flask框架学习 flask框架的基本使用

    flask框架是什么? Flask 是一个轻量级的 Web 框架,用于构建 Web 应用程序.它基于 Python 编程语言和 Werkzeug 工具包,提供了简单易用的 API,可以轻松地创建 RE ...

  9. Flask 框架app = Flask(__name__) 解析

    1 #!/usr/local/bin/python 2 # coding=utf-8 3 4 from flask import Flask 5 app = Flask(__name__) 6 7 @ ...

最新文章

  1. PHP判断iPhone、iPad、Android、PC设备的方法
  2. 实战并发编程 - 05等效不可变对象CopyOnWriteArrayList适用场景剖析_写时复制COW
  3. d-s 多传感器信息融合 matlab实现_自动驾驶中的多传感器融合
  4. 浙江绿盟科技2011.10.14校园招聘会笔试题
  5. java 泰勒级数_鸡群优化算法(CSO)、蜻蜓算法(DA)、乌鸦搜索算法(CSA)、泰勒级数(Taylor series)...
  6. 中国数字X射线设备行业市场供需与战略研究报告
  7. Mac笔记本查看端口
  8. 《推荐系统实践》算法纯享(附代码链接)(四)—— UGC推荐篇
  9. Java使用POI实现多个excel合并成一个excel
  10. mac版 IGV(版本2.12.3)安装
  11. 拟一维喷管流动的数值解——亚声速-超声速等熵喷管流动的守恒型CFD解法(MacCormack方法)
  12. 【python】求两条直线的交点
  13. Tomat连接MySQL示例
  14. ubuntu20.10安装电子书软件calibre错误处理
  15. Prometheus和它的xdm
  16. ffmpeg安装教程(支持10bit编码)
  17. 6、查询学过“张三”老师所教的所有课的同学的学号、姓名(重点)
  18. 圣经中最美的10句(转自沪江)
  19. C++ 实现带监视哨的顺序查找
  20. 如何自己制作PCB板(单面板)入门级完全教程

热门文章

  1. 转 做个男人,做个成熟的男人,做个有城府的男人
  2. Vuforia的学习(二)Vuforia的安装
  3. Qmail系统完整篇
  4. 电子元器件品牌及其代理商
  5. 搭建个人博客(论坛)的建议
  6. 英飞凌SP370方案胎压监测器-专业级视频课程-朱有鹏-专题视频课程
  7. VC开发环境 路径宏
  8. HTMLCSS常用英语词汇
  9. Mevoco 1.6 发布:支持在线克隆云主机的私有云
  10. 从实际出发,改变自己。