当前位置: 首页 > news >正文

python web 开发 - 通过venv虚拟环境,进行Flask安装

python web 开发 - 通过venv虚拟环境,进行Flask安装

文章目录

  • python web 开发 - 通过venv虚拟环境,进行Flask安装
    • 1、关于Flask
    • 2、在Ubuntu 20.04上安装Flask
    • 3、创建 Hello World

1、关于Flask

在Ubuntu上有不同的方法来安装Flask。

Flask软件包包含在Ubuntu的官方仓库中,可以使用apt软件包管理器进行安装。这是在Ubuntu 20.04上安装Flask最简单的方法,但没有在虚拟环境中安装那么灵活。而且,软件库中包含的版本可能落后于Flask的最新版本。

虚拟环境允许你为不同的Python项目创建一个孤立的环境。这样,你可以在一台电脑上拥有多个不同的Flask环境,并按项目安装特定版本的模块,而不用担心会影响其他Flask的安装。如果你把Flask安装到全局环境中,那么你的电脑上只能安装一个Flask版本。

在这篇文章中,我们将讨论如何在Ubuntu 20.04的Python虚拟环境中安装Flask。

2、在Ubuntu 20.04上安装Flask

在Ubuntu 20.04上安装的是Python 3.8。你可以通过输入以下内容来验证Python是否安装在你的系统上

$ python3 -V

输出结果应该如下。

$Python 3.8.5

创建虚拟环境的推荐方法是使用venv模块,它由python3-venv包提供。运行下面的命令来安装该包。

$ sudo apt install python3-venv

一旦模块安装完毕,我们就可以为Flask应用程序创建一个虚拟环境了。

导航到你要存储Python 3虚拟环境的目录。它可以是你的主目录或其他任何你的用户有读写权限的目录。

为 Flask 应用程序创建一个新目录并切换到该目录。

$ mkdir flask_app && cd flask_app

在该目录中运行以下命令来创建虚拟环境。

$ python3 -m venv venv

该命令将创建一个名为 venv 的目录,其中包含 Python 二进制文件、Pip 包管理器、标准 Python 库和其他支持文件的副本。你可以为这个虚拟环境使用任何你想要的名字。

要开始使用这个虚拟环境,你需要用 activate 脚本来激活它。

$ source venv/bin/activate

一旦激活,虚拟环境的bin目录将被添加到$PATH变量的开头。你的shell的提示符也会改变,显示你当前使用的虚拟环境的名称。在这个例子中,它是venv。

现在虚拟环境被激活了,使用Python软件包管理器pip来安装Flask。

$ pip install Flask

在虚拟环境中,你可以使用命令 pip 而不是 pip3,使用 python 而不是 python3。
为了验证安装情况,运行下面的命令,它可以打印Flask的版本。

$ python -m flask --version

在写这篇文章的时候,Flask的最新官方版本是1.1.2

$ Python 3.8.5
$ Flask 1.1.2
$ Werkzeug 1.0.1

你的Flask版本可能与本例中显示的版本不同。

3、创建 Hello World

我们将创建一个简单的hello world应用程序,它将简单地打印 “Hello World!”。

打开你的文本编辑器或Python IDE,创建以下文件。

~/flask_app/hello.py

from flask import Flask
app = Flask(__name__)@app.route('/')
def hello_world():return 'Hello World!'

下面是代码的作用:

1、第一行导入Flask类。
2、第二行创建了一个Flask类的新实例。
3、route()装饰器被用来为/路由注册hello_world函数。当这个路由被请求时,该函数被调用,并将消息 "Hello World!"返回给客户端。

将文件保存为hello.py,然后回到你的终端窗口。

我们将使用flask命令来运行该应用程序,但在此之前,我们需要通过设置FLASK_APP环境变量来告诉shell该应用程序的工作。

$ export FLASK_APP=hello.py
$ flask run

上面的命令将启动开发内置服务器。

输出将看起来像下面这样。

 * Serving Flask app "hello.py"* Environment: productionWARNING: Do not use the development server in a production environment.Use a production WSGI server instead.* Debug mode: off* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

如果你在虚拟机上安装了Flask并想访问Flask开发服务器,你可以通过在flask运行命令中添加–host=0.0.0.0来使该服务器公开可用。
在你的网络浏览器中打开http://127.0.0.1:5000 ,你会看到 "Hello World!"的信息。

要停止开发服务器,请在终端上输入CTRL-C。

一旦你完成了你的工作,通过输入deactivate来停用环境,你将返回到你的正常shell。

deactivate

相关文章:

  • 如何创建Windows下google Chrome便携版?
  • 前端:常用的获取元素位置与元素尺寸的属性与方法
  • C++之std::initializer_list详解
  • vue通过echarts实现数据可视化
  • B02、分析GC日志-6.3
  • vue2 使用vue-org-tree demo
  • 不到6毛钱的I2C总线实时时钟日历芯片LK8563
  • JVM-结合MAT工具分析OOM问题
  • 概率论基础——拉格朗日乘数法
  • 开发语言漫谈-C#
  • 【机器学习300问】64、简写出常见的激活函数及其导数?
  • Flutter入门指南
  • 使用Mac自带终端进行远程ssh连接Linux服务器
  • opencv+python(二值化图像)
  • 如何在HarmonyOS(鸿蒙操作系统)上进行应用开发
  • SegmentFault for Android 3.0 发布
  • const let
  • LeetCode29.两数相除 JavaScript
  • PAT A1017 优先队列
  • Spring Cloud中负载均衡器概览
  • SpringCloud集成分布式事务LCN (一)
  • 产品三维模型在线预览
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 排序(1):冒泡排序
  • 前端性能优化--懒加载和预加载
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 深入浅出Node.js
  • 收藏好这篇,别再只说“数据劫持”了
  • 我的业余项目总结
  • 项目管理碎碎念系列之一:干系人管理
  • 小程序开发之路(一)
  • 源码安装memcached和php memcache扩展
  • 找一份好的前端工作,起点很重要
  • HanLP分词命名实体提取详解
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 整理一些计算机基础知识!
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C)一些题4
  • (附源码)php新闻发布平台 毕业设计 141646
  • (转)h264中avc和flv数据的解析
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .a文件和.so文件
  • .dwp和.webpart的区别
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net 发送邮件
  • .Net的C#语言取月份数值对应的MonthName值
  • .Net转前端开发-启航篇,如何定制博客园主题