Python Pyramid - это система управления контентом (CMS), написанная на языке Python. Она построена на основа фреймворка TurboGears 2 и использует SQLElixir в качестве прослойки для работы с СУБД.
Дя установки Pyramid требуется Python не ниже 2.5, несколько пакетов Python (включая TurboGears 2) и СУБД, например, MySQL или PostgreSQL.
virtualenv pyramid_env
(в документации к Pyramid рекомендуют по другому "virtualenv --no-site-packages env" - нопод Windows 7 64-бит такая команда вызвала кучу ошибок. Но под FreeBSD 8.1 64-бит - сработала именно такая команда, которая с Windows не получилась.)
Переходим в каталог витруального окружения:
cd "C:\Python27\pyramid_env\Scripts"
Устанавливаем в этом виртуальном окружении Pyramid:
easy_install.exe pyramid
В каталоге "C:\Python27\pyramid_env\Lib\site-packages\" видим, что Pyramid для работы нужно очень много чего:
chameleon-1.2.13-py2.7.egg
easy-install.pth
mako-0.3.6-py2.7.egg
markupsafe-0.11-py2.7.egg
paste-1.7.5.1-py2.7.egg
pastedeploy-1.3.4-py2.7.egg
pastescript-1.7.3-py2.7.egg
pip-0.8.1-py2.7.egg
pyramid-1.0b1-py2.7.egg
repoze.lru-0.3-py2.7.egg
setuptools-0.6c12dev_r88124-py2.7.egg
setuptools.pth
translationstring-0.3-py2.7.egg
venusian-0.6-py2.7.egg
webob-1.0.1-py2.7.egg
zope.component-3.10.0-py2.7.egg
zope.configuration-3.7.2-py2.7.egg
zope.deprecation-3.4.0-py2.7.egg
zope.event-3.5.0_1-py2.7.egg
zope.i18nmessageid-3.5.3-py2.7-win-amd64.egg
zope.interface-3.6.1-py2.7-win-amd64.egg
zope.schema-3.7.1-py2.7.egg
C:\Python27\pyramid_env\Scripts\paster.exe create test -t pyramid_starter
Появляется каталог "test", содержащий готовый дистрибутив приложения. Само приложение находится в подкаталоге "test\test".
Заходим в каталог "test". Готовим приложение к развертыванию:
При этом скачиваются и устанавливаются недостающие пакеты Python.
Затем запускаем веб-сервер:
Создаем приложение, готовое к развертыванию командой:
Готовим приложение к работе:
Заметно, что при этом много пакетов скачивается, в частности, SQLAlchemy.
Дожидаемся сообщения, что веб-сервер стартовал. Смотрим на каком порту и (на том же что и первое веб-приложение "test"). Запускае браузер и заходим на страницу.
Различие в том, что на странице есть ссылка "test" под полем ввода для поиска. Жмем на ссылку и получаем ответ, сгенерированный на основе данных, хранимых в базе данных.
Приложение "test2", созданное из шаблона "pyramid_alchemy", изначально сконфигурировано для работы с базой данных "SQLite". Меняем в конфигурации базу данных на PostgreSQL.
Сначала с помощью входящей в состав PostgreSQL утилиты pgAdmin III создаем базу данных "testdb" и пользователя "user" с паролем "password" и правом модернизировать структуру базы данных.
Прописываем базу данных "testdb" в файле "development.ini", исправив строчку, где указана база данных типа sqlite на такую:
Здесь написано, что база данных называется "testdb", которая обслуживается сервером PostgreSQL. SQLAlchemy будет получать доступ к базе данных через адаптер psycopg2.
Запускаем веб-сервер:
Проверяем через браузер.
Python Pyramid работает.
Дя установки Pyramid требуется Python не ниже 2.5, несколько пакетов Python (включая TurboGears 2) и СУБД, например, MySQL или PostgreSQL.
Установка Python Pyramid в вируальном окружении
Создаем виртуальное окружение для Pyramidvirtualenv pyramid_env
(в документации к Pyramid рекомендуют по другому "virtualenv --no-site-packages env" - нопод Windows 7 64-бит такая команда вызвала кучу ошибок. Но под FreeBSD 8.1 64-бит - сработала именно такая команда, которая с Windows не получилась.)
Переходим в каталог витруального окружения:
cd "C:\Python27\pyramid_env\Scripts"
Устанавливаем в этом виртуальном окружении Pyramid:
easy_install.exe pyramid
В каталоге "C:\Python27\pyramid_env\Lib\site-packages\" видим, что Pyramid для работы нужно очень много чего:
chameleon-1.2.13-py2.7.egg
easy-install.pth
mako-0.3.6-py2.7.egg
markupsafe-0.11-py2.7.egg
paste-1.7.5.1-py2.7.egg
pastedeploy-1.3.4-py2.7.egg
pastescript-1.7.3-py2.7.egg
pip-0.8.1-py2.7.egg
pyramid-1.0b1-py2.7.egg
repoze.lru-0.3-py2.7.egg
setuptools-0.6c12dev_r88124-py2.7.egg
setuptools.pth
translationstring-0.3-py2.7.egg
venusian-0.6-py2.7.egg
webob-1.0.1-py2.7.egg
zope.component-3.10.0-py2.7.egg
zope.configuration-3.7.2-py2.7.egg
zope.deprecation-3.4.0-py2.7.egg
zope.event-3.5.0_1-py2.7.egg
zope.i18nmessageid-3.5.3-py2.7-win-amd64.egg
zope.interface-3.6.1-py2.7-win-amd64.egg
zope.schema-3.7.1-py2.7.egg
Проверка правильности работы Pyramid без базы данных
Создаем новый каталог, переходим в него, устанавливаем в этот каталог шаблон "pyramid_starter" из поставки Pyramid. Для этого запускаем утилиту "paster" из виртуального окружения:
C:\Python27\pyramid_env\Scripts\paster.exe create test -t pyramid_starter
Появляется каталог "test", содержащий готовый дистрибутив приложения. Само приложение находится в подкаталоге "test\test".
Заходим в каталог "test". Готовим приложение к развертыванию:
C:\Python27\pyramid_env\Scripts\python.exe setup.py develop
При этом скачиваются и устанавливаются недостающие пакеты Python.
Затем запускаем веб-сервер:
C:\Python27\pyramid_env\Scripts\paster.exe serve development.ini
Видим, что веб-сервер стартовал и ждет нас на порту 6543
В браузере набираем http://127.0.0.1:6543 и видим страницу с уведомлением: "Welcome to test, an application generated by the Pyramid web application development framework" и ссылками на документацию по Pyramid.
В браузере набираем http://127.0.0.1:6543 и видим страницу с уведомлением: "Welcome to test, an application generated by the Pyramid web application development framework" и ссылками на документацию по Pyramid.
Проверка правильности работы Pyramid с базой данных SQLite
Заходим в пустой каталог.
Создаем приложение, готовое к развертыванию командой:
C:\Python27\pyramid_env\Scripts\paster.exe create test2 -t pyramid_alchemy
Появляется каталог "test2"
Переходим в каталог "test2".
По умолчанию приложение созданное из шаблона "pyramid_alchemy" сконфигурировано для работы с базой данных "sqlite3".
Переходим в каталог "test2".
По умолчанию приложение созданное из шаблона "pyramid_alchemy" сконфигурировано для работы с базой данных "sqlite3".
Готовим приложение к работе:
C:\Python27\pyramid_env\Scripts\python.exe setup.py develop
Заметно, что при этом много пакетов скачивается, в частности, SQLAlchemy.
C:\Python27\pyramid_env\Scripts\paster.exe serve development.ini
Дожидаемся сообщения, что веб-сервер стартовал. Смотрим на каком порту и (на том же что и первое веб-приложение "test"). Запускае браузер и заходим на страницу.
Различие в том, что на странице есть ссылка "test" под полем ввода для поиска. Жмем на ссылку и получаем ответ, сгенерированный на основе данных, хранимых в базе данных.
Приложение "test2", созданное из шаблона "pyramid_alchemy", изначально сконфигурировано для работы с базой данных "SQLite". Меняем в конфигурации базу данных на PostgreSQL.
Сначала с помощью входящей в состав PostgreSQL утилиты pgAdmin III создаем базу данных "testdb" и пользователя "user" с паролем "password" и правом модернизировать структуру базы данных.
Прописываем базу данных "testdb" в файле "development.ini", исправив строчку, где указана база данных типа sqlite на такую:
sqlalchemy.url = postgresql+psycopg2://user:password@127.0.0.1:5432/testdb
Здесь написано, что база данных называется "testdb", которая обслуживается сервером PostgreSQL. SQLAlchemy будет получать доступ к базе данных через адаптер psycopg2.
Запускаем веб-сервер:
C:\Python27\pyramid_env\Scripts\paster.exe serve development.ini
Проверяем через браузер.
Python Pyramid работает.
Комментариев нет:
Отправить комментарий