如何在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,我们需要使用“ scl”工具启动一个新的shell实例:
scl enable rh-python36 bash
为Flask应用程序创建一个新目录并导航至该目录:
mkdir my_flask_appcd my_flask_app
运行以下命令以创建新的虚拟环境:
python3 -m venv venv
上面的命令将创建一个名为“ venv”的目录,该目录包含Python二进制文件,Pip程序包管理器,标准Python库和其他支持文件的副本。
我们可以为虚拟环境使用任何想要的名称。
使用“激活”脚本激活虚拟环境:
source venv/bin/activate
激活后,虚拟环境的bin目录将添加到“ $PATH”变量的开头。
此外,Shell提示符也会更改,并且会显示我们当前正在使用的虚拟环境的名称。
在我们的例子中是'venv':
3.安装Flask
现在已经激活了虚拟环境,我们可以使用Python软件包管理器pip安装Flask了:
pip install Flask
在虚拟环境中,可以使用命令'pip'代替'pip3'和'python'代替'python3'。
使用以下命令验证安装,该命令将显示Flask版本:
python -m Flask --version
在撰写本文时,最新的官方Flask版本是1.0.2.
Flask 1.0.2 Python 3.6.3 (default, Mar 20 2016, 13:50:41) [GCC 4.8.5 20140623 (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('/') def hello_world(): return 'Hello World!'
让我们逐行分析代码。
- 在第一行中,我们将导入Flask类。
- 接下来,我们创建Flask类的实例。
- 然后,我们使用“ route()”修饰符为“ /”路由注册“ hello_world”功能。当请求此路由时,将调用“ hello_world”,并显示消息“ Hello World!”。返回给客户端。
将文件另存为“ hello.py”,然后返回到终端窗口。
5.测试开发服务器
我们将使用“ flask”命令来运行应用程序,但在此之前,我们需要通过指定“ FLASK_APP”环境变量来告诉Flask如何加载应用程序:
export FLASK_APP=helloflask run
上面的命令将启动内置开发服务器。
输出将类似于以下内容:
* 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开发服务器,则可以通过在“ flask run”命令后添加“ --host = 0.0.0.0”来使该服务器公开可用。
在网络浏览器中打开“ http://127.0.0.1:5000”,系统将显示“ Hello World!”。
信息。
要停止开发服务器,请在终端中键入“ CTRL-C”。
6.停用虚拟环境
完成工作后,通过键入“ deactivate”来停用环境,我们将返回到常规shell。
deactivate