Werkzeug в целом и в Python 3.1 - PullRequest
       12

Werkzeug в целом и в Python 3.1

2 голосов
/ 06 октября 2009

Я очень старался изо всех сил ** (ы) ** можно разрабатывать веб-приложения с использованием Python. Для справки мы используем RHEL 64bit, apache, mod_wsgi.

История

  1. PHP + MySQL лет назад
  2. PHP + Python 2.x + MySQL недавно и в настоящее время
  3. Python + PostgreSQL работает над ним

Мы используем отличную библиотеку для связи между PHP и Python (интерфейс в PHP, бэкэнд в Python) ... Однако, при запуске более крупного предстоящего проекта использование 100% Python может быть очень выгодным.

Обычно мы предпочитаем не иметь монолитных рамок, диктующих, как все делается. Коллекция полезных помощников и утилит очень предпочтительна (будь то PHP или Python).

Вопрос 1:

Читая ряд ответов опытных пользователей Python, я видел Werkzeug , рекомендуемых несколько раз. Я был бы рад, если бы несколько человек, имеющих непосредственный опыт использования Werkzeug для разработки профессиональных веб-приложений, могли прокомментировать (настолько подробно, насколько чувствуют их пальцы), почему они используют его, почему им это нравится, и что-нибудь, на что следует обратить внимание.

Вопрос 2:

Существует ли версия Werkzeug, поддерживающая Python 3.1.1. Я успешно установил mod_wsgi на Apache 2.2 с Python 3.1.1.

Если нет версии, что нужно сделать, чтобы обновить ее для работы на Python 3.1?

Примечание: я запустил 2to3 в исходном коде Werkzeug, и он выполняет компиляцию на python без

Edit:

Проект, который мы начинаем, планируется завершить лишь через год. В этот момент я предполагаю, что Python 3.X станет намного более популярным. Более того, учитывая, что мы запускаем приложение (а не распространяем его), кто-нибудь может прокомментировать жизнеспособность пробивания некоторых проблем Python 3 сейчас, так что, когда наступит год, мы более или менее уже там

Мысли приветствуются!

Ответы [ 3 ]

3 голосов
/ 06 октября 2009

mod_wsgi для Python 3.x также не готов. У нас пока нет удовлетворительного определения WSGI для Python 3.x; WEB-SIG все еще решает проблемы. mod_wsgi нацеливается на догадку, что может быть в нем, но очень вероятно, что будут изменения как в спецификации, так и в стандартных библиотеках. Любое веб-приложение, написанное вами сегодня на Python 3.1, в будущем может сломаться.

Это что-то вроде руин. Сегодня для веб-приложений вы можете реально использовать только Python 2.x.

1 голос
/ 26 октября 2009

Я могу ответить только на первый вопрос:

Я начал использовать его для небольшого веб-продукта, но теперь перешел к переработке больших приложений с ним. Почему Werkzeug? Модульная концепция действительно полезна. Вы можете подключать модули по своему усмотрению, делать вещи легкими для понимания контекста, и вы получаете бесплатную хорошую обработку файлов запросов, которая может справиться с файлами размером более 300 МБ, не сохраняя их в памяти.

Недостатки ... Ну, иногда модульность нуждается в предварительном осмыслении (django f.ex. дает вам все сразу, хотя разобраться с этим сложно, хотя), но для меня это работает нормально.

1 голос
/ 06 октября 2009

Я не использовал Werkzeug, поэтому могу ответить только на вопрос 2:

Нет, Werkzeug не работает на Python 3. На самом деле, на сегодняшний день очень мало работает на Python 3. Портирование не сложно, но вы не можете портировать, пока все ваши сторонние библиотеки не будут перенесены, поэтому процесс идет медленно.

Один большой стопор - это setuptools, очень популярный пакет для использования. Setuptools не поддерживается, но есть поддерживаемый форк, называемый Distribute. Distribute был выпущен с поддержкой Python 3 всего неделю или две назад. Я надеюсь, что поддержка пакетов для Python 3 получит сейчас. Но пройдет еще много времени, по крайней мере, месяцы, возможно, год или около того, прежде чем какой-либо крупный проект, такой как Werkzeug, будет перенесен на Python 3.

...