Flask — это бесплатная микро-инфраструктура с открытым исходным кодом для Python, предназначенная для помощи разработчикам в создании безопасных, масштабируемых и поддерживаемых веб-приложений. Flask основан на Werkzeug и использует Jinja2 в качестве движка шаблонов.
В отличие от Django, по умолчанию Flask не включает ORM, проверку формы или любые другие функции, предоставляемые сторонними библиотеками. Flask построен с учетом расширений, которые представляют собой пакеты Python, которые добавляют функциональность в приложение Flask.
Существуют разные способы установки Flask, в зависимости от ваших потребностей. Он может быть установлен в масштабе всей системы или в виртуальной среде Python с использованием pip.Flask
Пакеты Flask также включены в репозитории EPEL и могут быть установлены с помощью yumменеджера пакетов. Это самый простой способ установить Flask в CentOS 7, но он не такой гибкий, как установка в виртуальной среде. Кроме того, версия, включенная в репозитории, всегда отстает от последней версии Flask.
Основное назначение виртуальных сред Python — создание изолированной среды для различных проектов Python. Таким образом, вы можете иметь несколько разных сред Flask на одном компьютере и устанавливать определенную версию модуля для каждого проекта, не беспокоясь о том, что это повлияет на другие ваши установки Flask. Если вы устанавливаете Flask в глобальную среду, вы можете установить только одну версию Flask на свой компьютер.
Установка Flask на CentOS 7
В следующих разделах мы расскажем, как установить Flask в виртуальной среде Python на CentOS 7.
1. Установка Python 3 и venv
Мы установим Python 3.6 из репозиториев Software Collections (SCL).
CentOS 7 поставляется с Python 2.7.5, который является важной частью базовой системы CentOS. SCL позволит вам установить более новые версии python 3.x вместе со стандартным python v2.7.5, чтобы системные инструменты, такие как yum, продолжали работать должным образом.
Включите SCL, установив файл выпуска CentOS SCL, который включен в репозиторий CentOS extras:
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:
scl enable rh-python36 bash
Создайте новый каталог для вашего приложения Flask и перейдите в него:
mkdir my_flask_appcd my_flask_app
Выполните следующую команду, чтобы создать новую виртуальную среду:
python3 -m venv venv
Приведенная выше команда создаст каталог с именем venv, который содержит копию двоичного файла Python, менеджера пакетов Pip, стандартной библиотеки Python и других вспомогательных файлов. Вы можете использовать любое имя для виртуальной среды.
Активируйте виртуальную среду, используя activateскрипт:
source venv/bin/activate
После активации каталог bin виртуальной среды будет добавлен в начале переменной $PATH. Кроме того, приглашение вашей оболочки изменится и будет отображать имя виртуальной среды, которую вы используете в данный момент. В нашем случае это venv:
3. Установка Flask
Теперь, когда виртуальная среда активирована, вы можете использовать менеджера пакетов pip в Python для установки Flask:
pip install Flask
Проверьте установку с помощью следующей команды, которая выведет версию Flask:
python -m Flask --version
На момент написания этой статьи последняя официальная версия Flask — 1.0.2.
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 может отличаться от версии, показанной здесь.
4. Создание приложения для минимальной колбы
В этой статье мы создадим простое приложение hello world, которое будет отображать текст «Hello World!».
Откройте ваш текстовый редактор или Python IDE и создайте следующий файл:
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, как загрузить приложение, указав переменную окружения FLASK_APP:
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)
Откройте http://127.0.0.1:5000 в своем веб-браузере, и вы увидите сообщение «Hello World!».
Чтобы остановить разработку сервера, наберите CTRL-C в своем терминале.
6. Деактивация виртуальной среды
Как только вы закончите свою работу, деактивируйте среду, набрав, deactivate и вы вернетесь к своей обычной оболочке.
deactivate
Заключение
Вы узнали, как создать виртуальную среду Python и установить Flask на вашем компьютере с CentOS 7. Чтобы создать дополнительные среды разработки Flask, повторите шаги, описанные в этом руководстве.