Настройка Pylons

Материал из DiPHOST.Ru wiki system

Перейти к: навигация, поиск

Данное руководство не является документацией по web-фреймворку Pylons. Предполагается, что пользователь данного фреймворка знаком с его основами.

Кроме того, в качестве ORM используется SQLAlchemy. Ввиду того, что это, по-видимому, наиболее популярный и многофункциональный ORM для python, возможность его использования для web-приложений является весьма привлекательной.

Кроме того, данное руководство описывает только процесс запуска pylons-проекта на хостинге. Создание egg-файлов, документации и т.п. не описывается.

Версии

Используется Pylons 0.9.7 и все идущие вместе с фреймворком пакеты, которые устанавливаются на локальный компьютер при помощи утилиты easy_install. Например, все верно для версий:

  • beaker-1.3-py2.5
  • decorator-3.0.0-py2.5
  • formencode-1.2.1-py2.5
  • mako-0.2.4-py2.5
  • nose-0.10.4-py2.5
  • paste-1.7.2-py2.5
  • pastedeploy-1.3.3-py2.5
  • pastescript-1.7.3-py2.5
  • Pygments-1.0-py2.5
  • pylons-0.9.7-py2.5
  • routes-1.10.3-py2.5
  • weberror-0.10.1-py2.5
  • webhelpers-0.6.4-py2.5
  • simplejson-2.0.8-py2.5-win32
  • tempita-0.2-py2.5
  • webob-0.9.6.1-py2.5
  • webtest-1.1-py2.5
  • sqlalchemy-0.5.0-py2.5
  • pysqlite2

Установка

1. Создаем в домашней директории директорию packages:

[user@babylon] ~$ mkdir ~/packages

2. Копируем необходимые пакеты с локальной машины в созданную директорию packages (например, при помощи Загрузка файлов на сервер по протоколу FTP).

3. В public_html директории Вашего WSGI-сайта создаем файл .htaccess следующего содержания:

 RewriteEngine On
 RewriteRule ^(.*)$ /webapp/$1 [L,QSA]

4. На локальной машине создаем конфигурационный файл вашего проекта (для проекта под названием myapp) командой:

[user@babylon] ~$ paster make-config myapp production.ini
File:Messagebox warning.png ВНИМАНИЕ!
Параметр отладки должен быть отключен:
set debug = false


5. Всю директорию проекта myapp переносим на сервер (например, в директорию ~/myapp)

6. Настраиваем WSGI-коннектор на хостинге. В файл webapp.wsgi в директории webapp WSGI-сайта пишем следующее:

# -*- coding: utf-8 -*-

      import sys, os

      # Путь к директории пользователя
      prefix = os.abspath('~/')

      # Делаем нужные пакеты видимыми для интерпретатора
      sys.path.insert(0, prefix + 'packages/beaker-1.3-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/decorator-3.0.0-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/formencode-1.2.1-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/mako-0.2.4-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/nose-0.10.4-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/paste-1.7.2-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/pastedeploy-1.3.3-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/pastescript-1.7.3-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/Pygments-1.0-py2.5.egg')
      sys.path.insert(0, prefix + '/packages/pylons-0.9.7-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/routes-1.10.3-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/sqlalchemy-0.5.0rc1-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/weberror-0.10.1-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/webhelpers-0.6.4-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/simplejson-2.0.8-py2.5-win32.egg')
      sys.path.insert(0, prefix + 'packages/tempita-0.2-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/webob-0.9.6.1-py2.5.egg')
      sys.path.insert(0, prefix + 'packages/webtest-1.1-py2.5.egg')
      sys.path.insert(0, prefix + 'myapp/')

      os.environ['PYTHON_EGG_CACHE']= prefix + 'myapp/python-eggs'

      # Запуск wsgi приложения
      from paste.deploy import loadapp

      application = loadapp("config:" + prefix + "myapp/production.ini")

Где username - это Ваш логин на хостинге.

7. Посещаем свою страницу и видим работающее приложение myapp

Источник — «https://wiki.diphost.ru/PylonsSetup»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru