Долгосрочная поддержка (LTS) Ubuntu была выпущена в апреле 2016 года. Обновление 16.04 для Ubuntu известное как «Xenial Xerus» является первым изданием Ubuntu, содержащим Python 3 в качестве основной инсталляции Python. Мы можем использовать издание Ubuntu совместно с версией Python 3.5 для запуска нового прикладного веб проекта Flask и запустить его в Green Unicorn (Gunicorn).
Необходимые инструменты
Наш проект будет использовать издание Ubuntu 16.04 совместно с несколькими другими библиотеками. Вам не придется устанавливать эти инструменты пока что, мы рассмотрим этот момент немного позже. Для апрельской версии 2017 необходимо следующее:
- Ubuntu 16.04.2 LTS (Xenial Xerus)
- Python версия 3.5.1 (по умолчанию в Ubuntu 16.04.2)
- Веб-фреймворк Flask версии 0.12
- Green Unicorn (Gunicorn) версия 19.7.1
При работе на Mac OS X или Windows, используйте ПО для виртуализации, такое как Parallels или VirtualBox с файлом .iso Ubuntu. Нам подойдут версии 16.04 как для amd64, так и i386. Я пользуюсь amd64 для разработок и тестирования в данной статье.
После загрузки Ubuntu вы увидите следующее:
Открываем окно терминала для того, чтобы продолжить настройку.
Системные пакеты
Мы можем увидеть систему python3 для Ubuntu, и где она выполняется, при помощи следующих команд:
1 2 |
python3 --version which python3 |
Установка нашей Ubuntu требует несколько системных пакетов. Мы получим запрос пароля суперпользователя, поскольку для установки пакетов через apt необходим ограниченный системный доступ.
1 |
sudo apt-get install python3-dev python3-pip |
Введите y, чтобы дать установке системного пакета делать свою работу.
Необходимые нам пакеты установлены. Мы можем продолжить, установив все необходимое для работы Python.
Virtualenv
Создадим каталог для virtualenvs. Затем создадим новый virtualenv.
1 2 3 4 5 6 7 8 |
# обновляем pip и setuptools pip3 install --upgrade pip setuptools # символ "~" указывает на домашнюю папку пользователя, например /home/matt cd ~ mkdir venvs python3 -m venv venvs/flaskproj |
Активация virtualenv.
1 |
source ~/venvs/flaskproj/bin/activate |
Наш prompt изменится, после того, как мы запустим virtualenv должным образом.
Наш virtualenv активирован с Python 3. Мы можем установить любые необходимые зависимости, в нашем случае, это Flask и Gunicorn.
Flask и Gunicorn
Наконец мы можем установить Flask и Green Unicorn через команду pip.
1 |
pip install flask gunicorn |
То, что мы получили ошибки, вроде тех, что указаны внизу – хороший знак:
Создаем новый каталог, под нашим исходным, в нем будет находиться проект Flask. Делаем из каталога новую папку.
1 2 |
mkdir ~/flaskproj cd ~/flaskproj |
Создаем новый файл под названием __init__.py внутри нашего каталога flaskproj, так что теперь мы можем сделать тест, чтобы убедиться в том, что Flask работает должным образом. Я предпочитаю использовать Vim, но Emacs, как и другие инструменты разработки также прекрасно подойдут. Впишите следующий код в файле __init__.py:
1 2 3 4 5 6 7 8 9 10 11 |
from flask import Flask, Response app = Flask(__name__) @app.route("/") def index(): return Response("It works!"), 200 if __name__ == "__main__": app.run(debug=True) |
Мы можем запустить наше приложение при помощи сервера разработки Flask, используя команду __init__.py. Вместо этого запустим приложение Flask при помощи Gunicorn. Перейдем к каталогу, который расположен над папкой flaskproj. В нашем случае, мы можем ввести cd ~, после чего использовать команду gunicorn:
1 |
gunicorn flaskproj:app |
Мы можем вызвать оболочку приложения Flask в браузере через локальный хост, по адресу 8000 или 127.0.0.1:8000.
Теперь перейдем к настоящей разработке Flask!
Есть вопросы по Python?
На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!
Паблик VK
Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!
Все готово к разработке
Эта простая установка для разработки при помощи Flask и Gunicorn на Ubuntu 16.04. Если вам нужен углубленный, пошаговый инструктаж для применения вашего WSGI веб приложения в производственной среде, обратитесь к книге Full Stack Python Guide to Deployments.
Являюсь администратором нескольких порталов по обучению языков программирования Python, Golang и Kotlin. В составе небольшой команды единомышленников, мы занимаемся популяризацией языков программирования на русскоязычную аудиторию. Большая часть статей была адаптирована нами на русский язык и распространяется бесплатно.
E-mail: vasile.buldumac@ati.utm.md
Образование
Universitatea Tehnică a Moldovei (utm.md)
- 2014 — 2018 Технический Университет Молдовы, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Технический Университет Молдовы, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»