Что такое WSGI я так и не узнал. :-) И т.н. "веб-сервер Апач" для меня тоже "тёмный лес"... Тем не менее, мне только что удалось запустить моё первое веб-приложение на Питоне (Python) и ЧерриПай (CherryPy).
Если говорить кратко, дело было так. Как и обещал (
http://vedavrata.livejournal.com/684686.html) мы пишем программу -- мобильное приложение для Андроида и айФона -- по ведической нумерологии и астрологии. Я сделал её прототип на Питоне, и программа работала у меня локально на компьютере. Потом я захотел показать её всем, для этого нужно было сделать из неё веб-приложение. Для этого я выбрал CherryPy (кстати, из разных сред для разработки веб-приложений [web frameworks] я выбрал именно CherryPy воспользовавшись ведической нумерологией, о чём не жалею, :-) но об этом ниже). Я попросил хост-мастера "прикрутить" CherryPy к хостингу (в веб-серверу Апач), для чего пришлось задействовать какой-то WSGI... После того, как хостинге заработал "Hello world" на CherryPy, я долго не мог понять, как же мне связть свою программу на Питоне с непонятным WSGI и с CherryPy. Перечитав много интернета, я нашёл описание, как это сделать:
http://www.devisland.net/help/cherrypy.shtml . И -- ура! -- программа заработала. :-)
Воспользоваться её можно по адресу
http://num.ved.bzЭто - альфа, то есть самая первая сырая версия. Если есть пожелания - пишите.
Почему я выбрал CherryPy из десяти возможных web frameworks на Питоне:
# 2 CherryPy - среда для разработки веб-приложений
# 3 Django - среда для разработки веб-приложений
# ? web2py - среда для разработки веб-приложений
# 6 Google App Engine - Google-хостинг, использует Python для серверных приложений
# 1 GAE framework - Django-подобный фреймворк, совместимый с Google App Engine
# 1 Plone - система управления содержимым вебсайтов (CMS) на платформе Zope
# 9 Pylons - среда для разработки веб-приложений
# 4 web.py - среда для разработки веб-приложений
# 9 Webware - среда для разработки веб-приложений
# 9 Zope - сервер для построения CMS и веб-приложений, платформа для их разработки
Т.н. "контрольная сумма" (нумерологическое число) CherryPy равно 2, а цифра 2 для меня благоприятна.
У остальных нумерологические числа - это 3, 6, 1, 9 и 4, которые мне не подходят.
Просто? :-) Но эффективно.
По этому же принципу я выбрал свой новый киевстаровский номер. :-)
Для специалистов (программистов): Если Вы пишете на Python и хотите сделать веб-приложение с помощью ЧерриПай (причём Апач его будет вызывать с помощью некоего WSGI), то подсказка такова:
import sys
sys.stdout = sys.stderr
import atexit
import threading
import cherrypy
cherrypy.config.update({'environment': 'embedded'})
if cherrypy.engine.state == 0:
cherrypy.engine.start(blocking=False)
atexit.register(cherrypy.engine.stop)
class Root(object):
def index(self):
return 'Hello World -- /
index.exposed = True
def calc(self):
return 'Hello World -- /calc
index.exposed = True
application = cherrypy.Application(Root(), None) Спасибо www.devisland.net/help/cherrypy.shtml !