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
.