Flask – простой и гибкий веб-фреймворк для создания веб-приложений на Python. В нём нет ничего лишнего, лишь базовые инструменты для запуска веб-сервера, маршрутизации и работы с шаблонами. Flask используется в основном для небольших проектов, API и прототипов, и при этом может масштабироваться для более сложных приложений, используя расширения. В статье разберём, как установить Flask на виртуальную машину, работающую под управлением Ubuntu 24.04.
Как установить Flask на Ubuntu
Перед тем, как начать установку нового софта, обновите метаданные пакетов в системной базе APT:
$ sudo apt updateПосле чего установите в систему необходимые пакеты:
- python3– интерпретатор Python версии 3.x;
- python3-pip– менеджер пакетов- pipдля Python;
- python3-venv– модуль для создания виртуальных окружений.
$ sudo apt install python3 python3-pip python3-venvДалее в домашнем каталоге своего пользователя создайте директорию для нового проекта:
$ cd ~
$ mkdir yourprojectЗатем перейдите в созданную директорию:
$ cd yourproject/Следующей командой создайте виртуальное окружение в директории yourvenv для установки зависимостей без их влияния на систему:
$ python3 -m venv yourvenvПосле чего произведите активацию виртуального окружения:
$ source ~/yourproject/yourvenv/bin/activateВ результате в командной строке должен появиться префикс в виде заключённого в скобки имени активированного окружения.

В активированной среде запустите инсталляцию Flask при помощи команды:
$ pip install flaskУбедиться в корректности произведённой установки можно, например, командой, которая выводит версию Flask:
$ pip show flaskНа нашем стенде вывод данной команды выглядит следующим образом:

Проверка работоспособности Flask
Чтобы проверить работоспособность установленного веб-фреймворка, создайте основной исполняемый файл Flask-приложения:
$ nano ~/yourproject/app.pyНаполните данный файл содержимым, например, таким, которое позволит проекту после запуска отобразить стартовую страницу сайта:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
    return """
    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Flask-сайт</title>
    </head>
    <body>
        <p>Перед вами стартовая страница вашего приложения на Flask.</p>
    </body>
    </html>
    """
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)Строка app.run(host="0.0.0.0", port=5000, debug=True) в нашем случае указывает на то, что сервер должен принимать подключения на всех доступных сетевых интерфейсах, в том числе и из интернета. При этом сервер будет слушать порт 5000, который во Flask является используемым по умолчанию, а опция debug=True включает режим отладки.
Поскольку в нашем приложении используется 5000-й порт, необходимо в брандмауэре UFW создать правило, разрешающее доступ к серверу с использованием данного порта:
$ sudo ufw allow 5000Для запуска проекта выполните команду:
$ python ~/yourproject/app.pyЗатем откройте браузер и перейдите по ссылке http://X.X.X.X:5000, где вместо X.X.X.X укажите IP-адрес вашего виртуального сервера.

Обратите внимание, что запуск Flask-приложения командой python app.py подходит только для разработки, поскольку встроенный сервер не обеспечивает стабильной и безопасной работы. В реальном проекте следует использовать надёжный WSGI-сервер и отключать режим отладки. Об этом говорит соответствующее предупреждение, которое выводится при запуске приложения.

Чтобы остановить работу проекта, используйте комбинацию клавиш Ctrl C.
