如何在 CentOS 7 上安装 Flask

2020-05-11 16:08:47 浏览数 (1)

Flask 是一个为 Python 开发,帮助开发者构建安全,可伸缩,可维护网络应用的免费并且开源微网络框架。Flask 基于Werkzeug,使用Jinja2作为模板引擎。

与Django不同,默认的 Flask 不包含 ORM, 表单验证或者其他任何第三方库提供的功能。Flask 与扩展一起构建,这些扩展都是一些 Python 软件包,可以为 Flask 应用添加功能。

有不同的方法可以安装 Flask,这取决于你的需求。它可以在系统范围内 Python 虚拟环境中,使用 pip 进行安装。

Flask 软件包当然也被包括在 EPEL 软件源并且可以通过yum包管理工具进行安装。这是在 CentOS 7 上安装 Flask 最简单的方法,但没有在虚拟环境中安装灵活。同时,被包含在软件源中的软件包版本肯定也落后于 Flask 的最新版本。

Python 虚拟环境的目标是为不同的 Python 项目创建一个隔离的环境。这种方式下,你可以在一个单机电脑上拥有很多不同的 Flask 环境,并且安装指定的版本模块,而不用担心它会影响其他的 Flask 安装。如果你将 Flask 安装进全局环境,那么你只能在你的电脑上安装一个 Flask 版本。

一、在 CentOS 7 上安装 Flask

在接下来的章节中,我们将会提供详细信息,讲述如何在 CentOS 7 上Python 虚拟环境下安装 Flask。

1.1 安装 Python 3 和 venv

我们将会从软件集合(SCL)软件源中安装 Python 3.6。

CentOS 7 自带 Python 2.7.5,它是 CentOS 基础系统中很重要的部分。SCL 将会允许你安装 Python3.x 的最新版本,并且不影响默认的 python v2.7.5,可以保证系统工具,例如 yum,可以继续正常工作。

通过安装包含在 CentOS 附加源的 CentOS SCL 发布文件,启用 SCL:

代码语言:javascript复制
sudo yum install centos-release-scl

一旦软件源被启用,运行下面的命令安装 Python 3.6:

代码语言:javascript复制
sudo yum install rh-python36

一旦 Python 3.6 被安装好,我们准备为我们的 Django 应用创建一个虚拟环境。

1.2 创建一个虚拟环境

切换到你想保存 Python 3 虚拟环境的目录。它可以是你的主目录或者任何你拥有读写权限的其他目录。

想要访问 Python 3.6,你需要使用scl工具启动一个新的 shell:

代码语言:javascript复制
scl enable rh-python36 bash

为你的 Flask 应用创建一个新的目录,并且导航进入:

代码语言:javascript复制
mkdir my_flask_app
cd my_flask_app

运行下面的命令,创建一个新的虚拟环境:

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

这个命令将会创建一个目录,称为:venv,它包含了一个 Python 二进制拷贝,Pip 包管理工具,标准 Python 库,和其他支持文件。你可以使用其他名字作为虚拟环境的名字。

使用activate脚本激活虚拟环境:

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

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

1.3 安装 Flask

现在虚拟环境已经被激活了,你可以使用 Python 软件包管理工具 pip 来安装 Flask:

代码语言:javascript复制
pip install Flask
代码语言:javascript复制
在虚拟环境中,你可以使用命令`pip`替换`pip3`,使用`python`代替`python3`。

运行下面的命令,验证安装过程,它将打印 Flask 版本:

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

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

代码语言:javascript复制
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 版本可能和这个显示的版本不一样。

1.4 创建一个最小 Flask 应用

在这个指南中,我们将会创建一个简单的 Hello World 应用,它会显示文本“Hello World!”。

使用你的文本编辑器,或者 Python IDE,并且创建下面的文件: ~/my_flask_app/hello.py

代码语言:javascript复制
from flask import Flask
app = Flask(__name__)

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

让我们逐行分析代码。

01.在第一行,我们插入 Flask 类。

02.下一步,我们创建一个 Flask 类的对象。

03.我们使用route()hello_world函数注册到/路由。当这个路由被请求时,hello_world被调用,并且消息"Hello World!“被返回给客户端。

保存这个文件为hello.py,并且返回你的终端窗口。

1.5 测试开发服务器

我们将会使用flask命令来运行这个应用,但是在这之前,我们需要通过FLASK_APP环境变量来告诉 Flask 如何加载应用:

代码语言:javascript复制
export FLASK_APP=hello
flask run

上面的命令将会在内建的服务器中启动开发模式。

输出将会像下面这样:

代码语言:javascript复制
 * Serving Flask app "hello"
 * 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.0flask run命令之后,让服务器变得公开可访问。

在你的网络浏览器中打开http://127.0.0.1:5000,并且你将会展示“Hello World!”信息。

停止开发服务器,在终端中输入CTRL-C

1.6 解除虚拟环境

一旦你做完了这些工作,输入deactivate解除环境,并且你将返回正常的 shell。

代码语言:javascript复制
deactivate

二、总结

你已经学会了在 CentOS 7 机器上创建一个 Python 虚拟环境,并且安装 Flask。想要创建更多的 Flask 开发环境,重复指南中我们提到的步骤。

如果你是一个 Flask 新手,浏览:Flask 文档页面并且学习如何开发你的第一个 Flask 应用。

0 人点赞