Подтвердить что ты не робот

Интерфейсы веб-шлюза в Python 3

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

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

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

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

4b9b3361

Ответ 1

Приветствия выпускников 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

Ответ 2

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