如何在Ubuntu 20.04操作系统上安装Flask

2021-08-10 10:26:07 浏览数 (1)

代码语言:javascript复制
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。

在Ubuntu 20.04上安装Flask

Ubuntu 20.04随附Python 3.8。 您可以通过键入以下内容来验证系统上是否安装了Python:

代码语言:javascript复制
python3 -V

输出应如下所示:

代码语言:javascript复制
Python 3.8.5

创建虚拟环境的推荐方法是使用python3-venv软件包提供的venv模块。 运行以下命令以安装软件包:

代码语言:javascript复制
sudo apt install python3-venv

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

导航至要Python 3虚拟环境的目录。 它可以是您的主目录,也可以是您的用户具有读写权限的任何其他目录。

为Flask应用程序创建一个新目录,然后切换到该目录:

代码语言:javascript复制
mkdir flask_app && cd flask_app

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

代码语言:javascript复制
python3 -m venv venv

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

要开始使用虚拟环境,您需要使用activate脚本将其激活:

代码语言:javascript复制
source venv/bin/activate

一旦激活,虚拟环境的bin目录将添加到 $PATH 变量的开头。 Shell的提示符也会更改,并显示当前正在使用的虚拟环境的名称。 在此示例中为venv

现在已激活虚拟环境,请使用Python软件包管理器pip安装Flask:

代码语言:javascript复制
pip install Flask

在虚拟环境中,可以使用命令pip代替pip3python代替python3

要验证安装,请运行以下命令,该命令将显示Flask版本:

代码语言:javascript复制
python -m flask --version

在撰写本文时,最新的Flask官方版本是1.1.2

代码语言:javascript复制
Python 3.8.5
Flask 1.1.2
Werkzeug 1.0.1

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

创建最小应用程序

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

打开您的文本编辑器或 Python IDE ,然后创建以下文件:

~/flask_app/hello.py

代码语言:javascript复制
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环境变量来告诉外壳程序该应用程序可以使用:

代码语言:javascript复制
export FLASK_APP=hello.py

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

输出将类似于以下内容:

代码语言:javascript复制
 * 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)

如果您将Flask安装在虚拟机上并想访问Flask开发服务器,则可以通过将--host=0.0.0.0附加到flask run命令来使该服务器公开可用 。

在网络浏览器中打开http://127.0.0.1:5000,将显示“ Hello World!”。

要停止开发服务器类型,请在您的终端中输入CTRL-C

完成工作后,请键入deactivate停用环境,然后将返回到常规shell。

代码语言:javascript复制
deactivate

0 人点赞