Питон, Джанга и Хероку
Итак, хочу подвести итог путешествия выходного дня в безбрежный край веб- технологий.1 - Цели
Необходимо устанавливать чёткие цели, чтобы в горестную минуту раздумий знать куда двигаться дальше.
2 - Неудачи
В этом путешествии сталкивался не только с удачами, но и с неудачами. Нужно быть к ним готовым.
О неудачах не пишут на красивых рекламных страницах сайтов. У них там всё работает с полпинка.
А для новичков есть скучные форумы, где ответ нужно искать, а если похожий случай не найдет,
вопрос нужно оформлять и ждать ответа. Жуть, короче...
3 - Цель на эти выходные постфактум
Цель на эти выходные - прокатиться в сторону питона, узнать, что это такое. Может быть доехать до
загадочной джанги, побывать и там, пощупать её, попробовать, увидеть.
А также средства разработки для них.
4 - отчёт
Считаю, что писать отчёты после таких путешествий очень важно, потому что многое забывается.
Не хочется ехать по той же дороге дважды, тем более, что она чаще всего была убитая.
Есть путь короче.
5
Отчёт по первому дню вот
1.
Нашёл книжку про питон для новичков и прочитал её до конца
по диагонали
http://pythonworld.ru/uploads/pythonworldru.pdf
пропускал про стандарты кода и прочее...
2.
По инструкциям в книжке поставил свежий питон 3.4.4 64бит
3.
Некоторые (4) примеры из книжки гонял на этом питоне.
4.
Попробовал GAE=Google App Engine. Зашёл в GDC= Google Developers Console
5.
Закачал и поставил GAE-лаунчер. Старьё 2009 года.Он хочет старую версию питона 2.7.8 - поставил и её рядышком.
6.
Получилось: создать проект, изменить существующий код на питоне.
Посмотреть изменения у себя на компе.Залить в гугл и посмотреть изменения на http://gdc-test1.appspot.com/
7.
Не все возможности GAE оказались доступны. Кое-где просит номер кредитки. Скриншоты залил сюда
https://yadi.sk/d/ftz73SjaitKmX
Туда же отправляют из раздела Deployments
8.
GAE беда с русскими буквами. Попробовал заменить Hello World
на русский текст - вообще ничего перестало отображаться.
Ну я ж говорю, старьё...
9.
В GDC в разделе Source Code - Browse подключился к GitHub
10.
В GDC есть раздел Big Query. Тут можно писать SQL-запросы к нескольким таблицам, которые даны для примера. Например,
SELECT * FROM [publicdata:samples.shakespeare] LIMIT 10
Однако на большее опять же нет прав, поскольку я не указал
номер кредитки. Нельзя создать свой датасет.
Значит, мои приложения не смогут вообще работать с этим разделом...
"Billing must be enabled for your project to start Compute Engine instances or create Cloud Storage buckets."
11.
Окончательно понял, что без номера кредитки гугл мне джанго
не поставит. Скорее всего, там вообще джанго будет платно.
12.
Амазон тоже лесом идёт.
13.
Хероку heroku.com рулит. Позволяет зарегистрироваться без кредитки и вроде как предоставляет хостинг с питоном и джанго.
Читаю их огромный Geting Started
------------------------
На гугле тоже гайд какой-то есть, но читать его, зная что не будешь пользоваться их хостингом, считаю тратой времени.
В итоге GAE снёс. Итог субботы:
1
Как всё сложно и просто одновременно
2
Гугл уже не рулит - оболочка 2009 года, хотя написано, что она активно развивается и изменяется; хочет номер кредитки - наглость высшей степени; в качестве базы берёт старый питон
3
Простейшие скрипты на питоне из книжки работают норм
4 - наверно интересно
http://pythontutor.ru/ - Запускайте программы прямо в своём браузере
5
Записался в гит-хаб - полезное дело
---------------
Вечером субботы и в воскресенье занимался хероку. Строит из себя бесплатный хостинг PaaS, типа сам весь стек технологий настроит, только проект залей на него пожалуйста.
Пробуем.
Регаемся и проходим пошаговую инструкцию
https://devcenter.heroku.com/articles/getting-started-with-python#introduction
На первом шаге видно, что хероку хочет:
Python + Setuptools + Pip +Virtualenv
PostgreSQL
Heroku Toolbelt - их основная программа-загрузчик.
Логиниться надо только в консоли, что довольно неудобно
Про между прочим установился Git - нехай будэ.
У хероку на гите есть проект по этой инструкции. Закачиваем
git clone https://github.com/heroku/python-getting-started.git
Создаём на базе него свой проект в хероку и закачиваем его
heroku create - в хероку
git push heroku master - в гит
heroku ps:scale web=1 - проверяем, что работает
heroku open - открываем в интернете наш проект
Дальше всё сложнее.
Теперь надо настроить свой комп для разработки и тестирования.
Тестирование хероку предлагает делать под изолированным окружением, раз уж я поленился
мутить виртуалку.
Для этого в питоне мы и ставили virtualenv
virtualenv venv - создаём окружение
Смотрим на весёлый файлик requirements.txt - это одна из фишек хероку.
Тут собраны все сторонние модули, какие должны быть для проекта с необходимыми версиями.
Круто - всё чётко и понятно, в одном месте.
venv\Scripts\activate.bat - заходим в окружение. Активируем, так сказать.
pip install -r requirements.txt --allow-all-external - в окружении проверяем наличие и устанавливаем если надо все примочки. Это надо делать именно в окружении, без него какой смысел?
Дальше начинают гундеть на любиму винду
Windows users may encounter an error when installing the dependencies locally. The production web server that we recommend, Gunicorn, does not work on Windows.
и после этого у меня возникли траблы и ничего не получилось...
1 комментарий:
И это я ещё не рассказал про супер глюк, из-за которого пришлось ставить MS Visual Studio 2010 и MS SDK 7.1 - нет, вы не ослышались. Именно тот самый Майкрософт...
Отправить комментарий