План
Пакеты в питоне
Идея: стандартизировать установку чужих питонских программ.
setup.py: setup.py install, build, bdist-egg, help, --help
Как он устроен? distutils / setuptools
setuptools:
Идея: свалить питонские файлы в архив, стандартизировать так, чтобы можно было устанавливать автоматически. Это называется egg. На них есть стандарт устройства внутри и стандарт на то, как он должен называться.
Offtopic: питон умеет импортировать из *.zip, если внутри есть __init__.py
easy_install: как автоматически установить egg (а ещё можно его скачать!)
- умеет скачивать
можно свалить кучу *.egg в ~/public_html, и тогда можно на такой страничке искать нужный пакет и скачивать
Идея: а если мы умеем делать пакеты и их скачивать, и все всё равно всё распространяют свободно, давайте сделаем свалку, куда каждый может положить свой пакет и каждый может оттуда его скачать, и каждый может там искать!
PyPI: https://pypi.python.org/
Основное руководство: https://wiki.python.org/moin/CheeseShopTutorial
Скачивать один пакет умеет уже и сам easy_install
- Если пакету что-то нужно, возникает дерево зависимостей. Нужно уметь ходить по нему и устанавливать всё из него, чтобы поставить нужный пакет.
Управляться со списками пакетов и разруливать зависимости умеет pip
у него тоже есть install – он опользуется easy_install, но выкачивает и все зависимости
- ещё у него есть list, show, search
- freeze и install --requirement=requirements.txt
Два слова про virtualenv
Flask: наследование шаблонов, макросы, фильтры
- наследование шаблонов
- фильтры
- макросы, call
- полезности в циклах
- инклюды
- импорты
- ключевое слово is в тестах
- flash messages
или:
- КАК легко сделать, чтобы все страницы сайта имели много одинаковой сложной обвески,
- КАК сделать так, чтобы внутри многих страниц похожие вещи делались похожим образом, и нам не требовалось копировать код,
- КАК попроще выдавать пользователю сообщение об успехе/неуспехе последнего действия
- (И ещё КАК не вывихнуть мозгов от всех этих extends, macro и call, в которых всё наизнанку)
Материалы: с дружественными туториалами тут постепенно наступает швах, и мы постепенно попадаем в область справочников в качестве документации: