Интерфейсы веб-шлюзов в Python 3 - PullRequest
24 голосов
/ 13 августа 2010

Я наконец-то пришел к выводу, что больше не могу позволить себе надеяться, что текущие проблемы Py3k / WSGI катастрофа будут решены в ближайшее время, поэтому мне нужно быть готовым двигаться дальше.

К сожалению, мои доступные опции кажутся не намного лучше:

  • Хотя я нахожу несколько различных модулей Python для FastCGI, разбросанных по всему Интернету, ни один из них, похоже, не привлекает к себе много внимания (если таковое имеется), особенно в отношении Python 3.x, и его трудно отличить которые, если таковые имеются, действительно жизнеспособны.
  • Откат до встроенного CGI-модуля едва ли лучше, чем создание чего-либо самостоятельно с нуля (что еще хуже, есть важная ошибка или две, которые могут не привлечь внимание до Python 3.3).
  • Нет более высокого греха, чем обработка HTTP напрямую в производственном веб-приложении. И вообще, это все еще изобретает колесо.

Конечно, кто-то развертывает веб-приложения на 3.x в производстве. Какой интерфейс шлюза вы используете, с каким модулем / библиотеками и почему?

Ответы [ 2 ]

2 голосов
/ 14 августа 2010

Кандидаты в релиз CherryPy 3.2 поддерживают Python 3.X. Поскольку он поддерживает только WSGI на уровне интерфейса веб-сервера, а не через весь стек, вы изолированы от вопросов относительно того, изменится ли WSGI. CherryPy имеет свой собственный внутренний сервер WSGI, но также может работать под Apache / mod_wsgi с Python 3.1+. См:

http://www.cherrypy.org/wiki/WhatsNewIn32 http://code.google.com/p/modwsgi/wiki/SupportForPython3X

1 голос
/ 27 августа 2010
Бутылка

поддерживает Python 3, но страдает от испорченной stdlib.Тем не менее, multipart переопределяет cgi.FieldStorage и может использоваться вместе с бутылкой для создания веб-приложения Python 3 WSGI.Я только что опубликовал демо 1002 *.На данный момент это всего лишь тест, но, насколько я могу судить, он работает хорошо.

...