ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Быстрый Python Flask

Как установить Flask на CentOS 7

Быстрый пример установки и запуска образца файла hello.py с приложением Flask с документацией интерфейса командной строки (CLI) на веб-сайте Flask. Первое, что вам нужно сделать, это установить модуль flask с помощью утилиты pip3 в Fedora Linux (или на большинстве других платформ):

pip3 install flask --user student

 

Вы должны увидеть такой успешный журнал для пользователя student:

Requirement already satisfied: flask in /usr/local/lib64/python3.7/site-packages (1.1.2)
Collecting student
 Downloading https://files.pythonhosted.org/packages/b5/af/be416c18e4fe63a582e06fb0d47bf059bd0f4f413e5a6cfe893747ebaf79/Student-0.0.1-py3-none-any.whl
Requirement already satisfied: click>=5.1 in /usr/lib/python3.7/site-packages (from flask) (7.1.1)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.7/site-packages (from flask) (1.1.0)
Requirement already satisfied: Werkzeug>=0.15 in /usr/local/lib/python3.7/site-packages (from flask) (1.0.1)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/lib/python3.7/site-packages (from flask) (2.10.1)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.7/site-packages (from Jinja2>=2.10.1->flask) (1.1.1)
Installing collected packages: student
Successfully installed student-0.0.1

 

Программа с наименьшей занимаемой площадью hello.py:

# Импорт операторов.
from flask import Flask
 
# Определение приложения.
app = Flask(__name__)
 
# Базовая маршрутизация URI.
@app.route(" / ")
 
# Определите функцию hello.
def hello():
 return "Hello World!-
 
# Запуск программы.
if __name__ = = "__main__":
 app.run()

 

Вы можете запустить программу из командной строки двумя командами:

export FLASK_APP=hello.py
flask 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)

 

Введите следующий URL-адрес в локальном браузере:

http://localhost:5000/

 

Flask добавит в журнал консоли следующее:

127.0.0.1 - - [26/Oct/2020 00:37:49] "GET / HTTP/1.1" 200 -

 

Вы можете оживить программу hello.py с помощью списка аргументов, как в этом модифицированном примере:

# Импорт библиотек.
from flask import Flask, escape, request
 
# Определите приложение.
app = Flask(__name__)
 
# Определите базовый маршрут URI и функцию.
@app.route(' / ')
def index():
 return "индекс страницы"
 
# Определение маршрута URI приложения и функции.
@app.route("/hello")
def hello():
 name = request.args.get("name","AndreyEx")
  return f'Hello {escape(name)}!'
 
# Определите маршрут и функцию about URI.
@app.route("/about")
def about():
 return "О Странице"
 
# Запустить файл.
if __name__ = = "__main__":
 app.run()

 

Он напечатает ‘Hello AndreyEx!’ на веб-странице. Если вы попытаетесь остановить сервер Flask с помощью Ctrl+Z вместо Ctrl+C, в следующий раз, когда вы запустите его, вы получите сообщение об ошибке, например:

OSError: [Errno 98] Address already in use

 

Вам нужно будет найти идентификатор процесса Linux и убить процесс. Вы можете найти процесс с помощью следующей команды Linux:

sudo netstat -nlp | grep 5000
[sudo] password for student:

 

Он запрашивает пароль sudoer, а затем возвращает строку вроде:

tcp 0 0 127.0.0.1:5000 0.0.0.0:* LISTEN 76802/python3

 

Вы завершаете процесс с помощью следующей команды Linux:

kill -9 76802

 

Exit mobile version