Что такое сценарий вставки?
Вопрос
Я пытаюсь понять, что такое скрипт вставки и пастер.Сайт далеко не понятен.Я использовал Paster для создания готовых макетов проектов, но не вижу общей картины.
Насколько я понимаю, и из статьи в Википедии говорится, что это фреймворк для веб-фреймворков, но это кажется упрощением. paster create
похоже, может создавать готовые макеты для пакетов с поддержкой setuptools/distutils.
Какую проблему (или набор проблем) он пытается решить?
Решение
Паста получила несколько компонентов:
- Вставить ядро:различные модули, помогающие создавать веб-приложения или платформы wsgi (индекс модуля).Включает в себя такие вещи, как объекты запроса и ответа.С веб-сайта:«Будущее этих частей — разделить их на независимые пакеты и провести рефакторинг внутренних зависимостей Paste, чтобы они вместо этого полагались на WebOb».Если вы планируете использовать компоненты из ядра пасты, я предлагаю вместо этого взглянуть на побочные продукты, например ВебОб.
- Вставить развертывание:система загрузки и настройки WSGI-приложений и серверов (индекс модуля).По сути, некоторые вещи для чтения файла конфигурации и создания приложения WSGI, как указано в файле.
- Вставить скрипт:Структура для определения команд.Он поставляется с несколькими готовыми командами, например
paster serve
(загружает и обслуживает приложение WSGI, определенное в файле конфигурации Paste Deploy) иpaster create
(создает макет каталога для пакетов и т. д.).Лучшее введение для вставки скрипта, которое я нашел, это http://pythonpaste.org/script/developer.html
Вот источник для paster serve
команда: служить.py.
И paster create
: create_distro.py.
Другие советы
PasteScript (и его сопутствующий компонент PasteDeploy) - это инструменты для запуска кода Python с использованием «точек входа». По сути, библиотека python может указывать в метаданных, что она знает, как создать определенный тип проекта Python или выполнить определенные операции над этими проектами. Paster - это инструмент командной строки, который ищет соответствующий код для запрошенной вами операции. Это очень общая проблема; если вы вообще знакомы с Ruby, эквивалентом может быть 'rake'.
В частности, PasteDeploy - это формат конфигурации для обслуживания веб-приложений Python с использованием paster. И PasteScript, и PasteDeploy важны для веб-инфраструктуры Pylons.