Найти в Дзене
Юрий Ершов

Установка микрофреймворка Flask в ОС Windows 7.

Flask, как известно, один из самых популярных фреймворков для языка Python в WEB-программировании. Конечно, лидер в этой сфере - Django. Но он большой, тяжелый, перегружен различными возможностями, которые, могут и не понадобиться. К тому же, на его серьезное изучение уйдет немало времени. Другое дело - "Скляночка" (Flask). Гибкий, быстрый, легко расширяемый и настраиваемый. Небольшие и средних размеров одностраничники, блоги, интернет магазины – все это вполне по силам для Flask. Кроме того, малый вес и полный контроль над приложением, а также и многие другие возможности, обеспечат ему популярность еще надолго. Поэтому, использовать фреймворк, конечно, имеет смысл. В изучении он достаточно прост, что также ему большой плюс. И все же есть, на мой взгляд, у этого почтенного детища от Python, некоторые узкие места, которые требуют внимания. К одному из них я бы отнес вопрос, с которым приходится сталкиваться на самых первых шагах. Это установка фреймворка на Windows 7. Поня
Оглавление

Flask, как известно, один из самых популярных фреймворков для языка Python в WEB-программировании. Конечно, лидер в этой сфере - Django. Но он большой, тяжелый, перегружен различными возможностями, которые, могут и не понадобиться. К тому же, на его серьезное изучение уйдет немало времени. Другое дело - "Скляночка" (Flask). Гибкий, быстрый, легко расширяемый и настраиваемый. Небольшие и средних размеров одностраничники, блоги, интернет магазины – все это вполне по силам для Flask. Кроме того, малый вес и полный контроль над приложением, а также и многие другие возможности, обеспечат ему популярность еще надолго. Поэтому, использовать фреймворк, конечно, имеет смысл. В изучении он достаточно прост, что также ему большой плюс.

И все же есть, на мой взгляд, у этого почтенного детища от Python, некоторые узкие места, которые требуют внимания. К одному из них я бы отнес вопрос, с которым приходится сталкиваться на самых первых шагах. Это установка фреймворка на Windows 7. Понятно, что подавляющее число серверов в сети работает под Linux. Вполне логично и рассматривать работу Flask именно в этой ОС. Но не всегда удобно использовать Linux при локальной разработке, да и далеко не все имеют и владеют Linux.

Известно, что для разработки приложения на локальном компьютере желательно создавать виртуальную среду. Она нужна по разным причинам. Наверное, самое главное то, что в этой среде устанавливаются локально различные используемые в приложении вспомогательные программы, в том числе и интерпретатор Python, которые не будут конфликтовать с какими-то, возможно, другими версиями этих программ, установленными на компьютере. Виртуальная среда также облегчает развертывание приложения на сервере.

При первоначальном изучении вопроса, приходится буквально «продираться» через дебри написанного на эту тему в разных источниках.

Из многочисленных рекомендаций по установке виртуальной среды, предоставляемых в них, не работает также немалое их количество. Есть, конечно, «святая святых» - Stack Overflow. Но иногда все же хочется, что называется, «докопаться» самому. Ну и грызешь...

Подготовительная работа

Python "любит" терминал. К нему и обратимся. В Windows, по умолчанию - это приложение cmd. Проще всего его вызвать комбинацией клавиш "Win (клавиша с иконкой "окно") + R". Затем, в открывшемся окне, если оно будет пустым, набираем - cmd, нажимаем "Enter", и мы в терминале (точнее, в его эмуляторе).

По умолчанию он открывается в корневой папке пользователя. Например, C:\Users\Grisha>.

Немного упростим себе задачу. Создадим нашу рабочую папку в корневой директории диска С. Пусть это будет, например, My_flask (или называем ее как душе угодно). Для этого воспользуемся терминальной командой cd - для перехода в другую директорию. В командной строке пишем:

C:\Users\Grisha>cd ..\..,

где ..\.. - означает, что надо перейти на два уровня вверх.

Или, если проще - C:\Users\Grisha>cd с\:

Создаем рабочую папку My_flask. Во избежание возможных конфликтов, не стоит называть ее просто Flask.Применим команду mkdir.

c:\>mkdir My_flask

Переходим в нее:

c:\>cd My_flask

В этой папке создадим папку своего первого проекта. Назовем ее, скажем, first_flask_app.

c:\My_flask>mkdir first_flask_app

Переходим в нее:

c:\My_flask>cd first_flask_app

В результате в терминале имеем строку:

c:\My_flask\first_flask_app>

Теперь подготовительная работа выполнена, можно переходить к основной.

Создание виртуальной среды

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

c:\My_flask\first_flask_app>python -m venv my_flask_env

Теперь нужно ее активировать:

c:\My_flask\first_flask_app>my_flask_env\Scripts\activate

Получаем :

(my_flask_env) c:\My_flask\first_flask_app>

Запись (my_flask_env) в начале строки, говорит о том, что виртуальная среда успешно активирована.

После активации виртуальной среды переходим в ее директорию:

(my_flask_env)c:\My_flask\first_flask_app>cd my_flask_env

В командной строке имеем:

(my_flask_env) c:\My_flask\first_flask_app\my_flask_env>

Теперь все готово для установки в эту директорию фреймворка Flask.

Установка фреймворка Flask

Используем традиционный установщик пакетов Python - pip:

(my_flask_env)c:\My_flask\first_flask_app\my_flask_env>pip install flask

Если все прошло правильно, после ряда строк появится сообщение:

Installing collected packages: Werkzeug, itsdangerous, MarkupSafe, Jinja2,
click, flask

Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1
click-7.1.2 flask-1.1.2 itsdangerous-1.1.0

Что говорит об успешной установке пакетов, составляющих базовый Flask.

Иногда требуется обновить pip.

You are using pip version 19.0.3, however version 20.2.2 is available.

You should consider upgrading via the 'python -m pip install --upgrade
pip' command.

Надо, так надо. Пишем:

(my_flask_env)c:\My_flask\first_flask_app\my_flask_env>python -m pip install --upgrade pip

Successfully installed pip-20.2.2

Все...

После того, как пакеты установлены, можно чуть-чуть вздохнуть. Остается проверить, правильно ли установлены компоненты:

Проверка установки виртуального Python. Набираем команду python:

(my_flask_env) c:\My_flask\first_flask_app\my_flask_env>python

В результате должны получить примерно такие строки:

Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924
64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>>

Они сообщают о версии Python - 3.8.3 … Остальное не существенно.

Значки >>> показывают, что мы перешли в интерпретатор Python.

Теперь можно проверить правильно ли установлен Flask. В командной строке пишем строку, чтобы загрузить фреймворк :

>>> import flask

Следующая строка запрашивает версию Flask. Обращаем внимание на ".". При этом пробелов нет.

>>> flask.__version__

Получаем номер версии:

'2.0.1'

Ну и рассеиваем последние сомнения:

>>> flask

Должны получить что-то вроде этого:

<module 'flask' from 'c:\\My_flask\\first_flask_app\\my_flask_env\\lib\\site-packages\\flask\\__init__.py'>

Если такая строка появилась, значит все успешно установлено и flask готов к работе.

Далее открываем текстовый редактор и пишем в нем свое первое приложение app.py.

Но это уже другая история...