Flask是使用Python编写,开放源代码的Web框架,旨在帮助开发人员构建安全,可伸缩且可维护的Web应用程序。

Flask基于Werkzeug ,并使用Jinja2作为模板引擎。与Django不同,默认情况下,Flask不包含ORM,表单验证或第三方库提供的任何其他功能。

Flask在构建时就考虑了扩展,这些扩展是为Flask应用程序添加功能的Python包。有多种方法可以在Ubuntu安装Flask。

Flask包含在Ubuntu的官方软件源中,可以使用apt软件包管理器进行安装。这是在Ubuntu 20.04上安装Flask的最简单方法。

但不如在虚拟环境中安装那样灵活。 此外,仓库中包含的版本可能会落后于Flask的最新版本。

虚拟环境允许您为不同的Python项目创建隔离的环境。这样,您可以在一台计算机上拥有多个不同的Flask环境,并可以在每个项目的基础上安装特定版本的模块。

而不必担心会影响您其他Flask项目的依赖。如果将Flask安装到全局环境中,则只能在计算机上安装一个Flask版本。

在本教程中,我们将讨论如何在Ubuntu 20.04的Python虚拟环境中安装Flask。并且使用python-venv虚拟环境模块创建项目,最后我们在python虚拟环境中创建创建Flask应用。

Ubuntu 20.04默认已安装Python 3.8。 您可以来通过命令python3 -V验证系统上是否安装了Python。命令将会打印python的版本。

创建虚拟环境的推荐方法是使用python3-venv包提供的venv模块。请运行命令sudo apt install python3-venv安装python3-venv

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

为Flask应用程序创建一个新目录,它可以是您的家目录,也可以是您的用户具有读写权限的任何其他目录。然后使用cd命令导航至Python 3虚拟环境的目录。

在目录中运行python3 -m venv venv命令以创建虚拟环境。

mkdir flask_app && cd flask_app
python3 -m venv venv

该命令将创建一个名为venv的目录,该目录包含Python二进制文件,pip包管理器,标准Python库和其他支持文件的副本。

您可以为虚拟环境使用任何名称。要开始使用虚拟环境,您需要使用source命令运行activate脚本激活虚拟环境。

source venv/bin/activate命令将会激活虚拟环境,虚拟环境的bin目录将添加到PATH环境变量的开头。

Shell的提示符也会更改,并显示当前正在使用的虚拟环境的名称。在此示例中为venv。完成工作后,请使用deactivate命令停用虚拟环境,然后将返回到常规shell。

现在已激活虚拟环境,请使用Python软件包管理器pip安装Flask。在虚拟环境中,可以使用命令pip代替pip3python代替python3

要验证flask的安装,请运行python -m flask --version命令,命令将显示Flask版本。

在撰写本文时,最新的Flask官方版本是1.1.2。您的Flask版本可能与此示例中显示的版本不同。

(venv) $ pip install Flask
(venv) $ python -m flask --version

创建Flask应用

我们将创建一个简单的hello world应用程序,该应用程序将仅打印Hello World!

打开您的文本编辑器Python IDE,然后创建~/flask_app/hello.py文件。在本教程中我们使用vim创建文件~/flask_app/hello.py

(venv) $ vim hello.py

复制粘帖以下内容到hello.py中:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

然后保存文件并退出vim编辑器。在第一行导入了Flask类。第二行创建了Flask类的新实例。

route()装饰器用于注册hello_world函数用于/路由。请求此路由时,将调用该函数,并输出消息Hello World!返回给客户端。

我们将使用flask命令运行hello.py程序,但在此之前,我们需要通过设置FLASK_APP环境变量来告诉flask启动的主文件。

如果您将Flask安装在虚拟机上并想访问Flask开发服务器,则可以在flask run命令后添加--host=0.0.0.0来使该服务器在来自任何IP地址都可访问 。

(venv) $ export FLASK_APP=hello.py
(venv) $ flask run --host=0.0.0.0

上面的命令将启动开发内置服务器。输出将类似于以下内容:

 * Serving Flask app "hello.py"
 * Environment: production
   WARNING: 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)

浏览器中打开http://127.0.0.1:5000,将显示Hello World!

结论

我们已向您展示了如何创建Python虚拟环境以及如何在Ubuntu 20.04计算机上安装Flask。 要创建其他Flask开发环境,请重复相同的过程。如果您不熟悉Flask,请访问 Flask文档页面,并了解如何开发您的第一个Flask应用。请在下方发表评论。