如何在CentOS 7上安装Flask

Flask是用于Python的免费开放源微型Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序。 Flask基于Werkzeug,并使用Jinja2作为模板引擎。

与Django不同,默认情况下,Flask不包含ORM,表单验证或第三方库提供的任何其他功能。 Flask在构建时考虑了扩展,这些扩展是为Flask应用程序添加功能的Python软件包。

有多种安装Flask的方法,具体取决于您的需求。 它可以安装在系统范围内,也可以使用pip安装在Python虚拟环境中。

Flask软件包也包含在EPEL存储库中,可以使用 yum 包裹经理。 这是在CentOS 7上安装Flask的最简单方法,但不如在虚拟环境中安装灵活。 同样,存储库中包含的版本始终落后于最新版本的Flask。

Python虚拟环境的主要目的是为不同的Python项目创建一个隔离的环境。 这样,您可以在一台计算机上拥有多个不同的Flask环境,并且可以在每个项目的基础上安装模块的特定版本,而不必担心会影响您其他Flask的安装。 如果将Flask安装到全局环境中,则只能在计算机上安装一个Flask版本。

在CentOS 7上安装Flask

在以下各节中,我们将提供有关如何在CentOS 7的Python虚拟环境中安装Flask的详细信息。

1.安装Python 3和venv#

我们将从软件集合(SCL)存储库中安装Python 3.6。

CentOS 7附带了Python 2.7.5,这是CentOS基本系统的关键部分。 SCL允许您在默认的python v2.7.5旁边安装新版本的python 3.x,以便yum之类的系统工具将继续正常运行。

通过安装CentOS Extras存储库中包含的CentOS SCL发行文件来启用SCL:

sudo yum install centos-release-scl

启用存储库后,使用以下命令安装Python 3.6:

sudo yum install rh-python36

安装Python 3.6之后,我们就可以为Django应用程序创建虚拟环境了。

2.创建虚拟环境#

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

要访问Python 3.6,您需要使用来启动新的shell实例 scl 工具:

scl enable rh-python36 bash

为您的Flask应用程序创建一个新目录并导航至该目录:

mkdir my_flask_appcd my_flask_app

运行以下命令以创建新的虚拟环境:

python3 -m venv venv

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

使用以下命令激活虚拟环境 activate 脚本:

source venv/bin/activate

激活后,虚拟环境的bin目录将被添加到 $PATH 变量。 而且,shell的提示符也会更改,并且会显示您当前正在使用的虚拟环境的名称。 在我们的情况下 venv

3.安装Flask#

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

pip install Flask

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

使用以下命令验证安装,该命令将显示Flask版本:

python -m Flask --version

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

Flask 1.0.2
Python 3.6.3 (default, Mar 20 2018, 13:50:41) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

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

4.创建最小的Flask应用程序#

在本指南中,我们将创建一个简单的hello world应用程序,该应用程序将显示文本“ Hello World!”。

打开文本编辑器或Python IDE并创建以下文件:

〜/ my_flask_app / hello.py

from flask import Flask
app = Flask(__name__)

@app.route("https://linuxize.com/")
def hello_world():
    return 'Hello World!'

让我们逐行分析代码。

  1. 在第一行中,我们将导入Flask类。
  2. 接下来,我们创建Flask类的实例。
  3. 然后我们使用 route() 装饰者注册 hello_world 的功能 / 路线。 当请求此路线时, hello_world 会被调用,并显示消息“ Hello World!”。 返回给客户端。

将文件另存为 hello.py 然后返回您的终端窗口。

5.测试开发服务器

我们将使用 flask 命令来运行应用程序,但在此之前,我们需要通过指定Flask告诉Flask如何加载应用程序 FLASK_APP 环境变量:

export FLASK_APP=hello.pyflask run

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

输出将类似于以下内容:

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

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

打开 http://127.0.0.1:5000 在您的网络浏览器中,您将看到“ Hello World!”。 信息。

停止开发服务器类型 CTRL-C 在您的终端中。

6.停用虚拟环境#

完成工作后,通过键入以下内容停用环境 deactivate 然后您将返回到常规外壳。

deactivate

结论#

您已经了解了如何创建Python虚拟环境以及如何在CentOS 7计算机上安装Flask。 要创建其他Flask开发环境,请重复本教程中概述的步骤。

如果您不熟悉Flask,请访问Flask文档页面,并了解如何开发您的第一个Flask应用。

随时在下面发表评论。

python centos

Sidebar