Рамка веб-разработки Python для пользователя python 3.1

Я изучаю python уже некоторое время. Начав этот "обучающий питон", я решил изучить последнюю и самую лучшую версию python 3.1. Я сожалею об этом решении сейчас, потому что я хотел попробовать свои силы в некоторых фреймворках веб-разработки python, и похоже, что многие из них еще не поддерживают 3.1, и похоже, что им может потребоваться годы для поддержки новой версии Python, особенно Django и TurboGears. Это действительно разочаровывает. Поэтому, пользователи SO, есть ли у вас какие-либо рекомендации для веб-фреймворка для меня, который работает в версии 3.1 и поддерживает некоторые из современных (я думаю, я никогда не узнаю;)), такие как веб-фреймворки, такие как MVC/ORM/URL-маршрутизация/кэширование и т.д..

Ответ 1

Python 2.6 и Python 3.1 на самом деле не все разные, я просто предлагаю вам изучить оба варианта, особенно потому, что обе ветки Python будут сосуществовать некоторое время... так что лучше всего изучить небольшие различия. Документ "" Что нового в Python 3.0" объясняет большую часть различий между 2.6 и 3.0.

Ответ 2

Как насчет того, чтобы попробовать Python2.7, многие из функций python 3.x в последнее время обращаются к версии 2.7, такие как OrderedDict, более быстрые модули io, установить понимание, понимание понятий и т.д.

И Python 2.7 без проблем работает с версией trunk версии django 1.2.

По-моему, для изучения новой структуры потребуется больше времени, чем переход с Python2.x на Python3.x, поэтому выберите один фреймворк и просто продолжайте использовать python 2.x и переключите его на 3.x, когда придет время.

Ответ 3

Как и другие, я предлагаю вам начать с Python 2.6.x - Python 2.7 будет выпущен этим летом, хотя сегодня вы можете получить альфа-версию или бета-версию.

Хотя Python 3.x не совместим с 2.x, синтаксис Python не будет неузнаваем... почти все очень похоже на 2.x, но легко сломать код, когда print изменяется от оператора к функции. Так что не беспокойтесь о Python 3 на данный момент. Как уже упоминалось, вы можете сразу начать работу с большим количеством веб-фреймворков, работающих в Python 2.x.

Кроме того, просто из-за нумерации, НЕ обманывайте себя, думая, что Python 2 устарел каким-либо образом, и вы не можете последовательно следовать графику. Другими словами, Python 2.7 будет более новым, чем Python 3.0 и 3.1. (3.2 не будет выпущен до конца этого года.) Опять же, Python 2 НЕ был EOL'd - активно развиваются 2.x и 3.x.

Промышленный мир по-прежнему работает на Python 2.x; появление 3.x является напоминанием о том, что следующее поколение здесь, и это время, когда вся инфраструктура и инфраструктура нижнего уровня должны начать свою работу по переносу, чтобы мы все в конечном итоге мигрировали.

Если вы хотите узнать больше о связях между Python 2, Python 3 и изменениях/различиях между ними, а также временной шкале и миграции, вы можете проверить эту онлайн-статью, которую я написал в начале этого года:

"Python 3: Эволюция языка программирования"
http://www.informit.com/articles/article.aspx?p=1328795

Я также рассказал об этом же в PyCon 2010 в феврале. Вы можете получить доступ к видео и слайду preso здесь:
http://us.pycon.org/2010/conference/schedule/event/29/

Ответ 4

CherryPy 3.2 (все еще работающий) будет запущен на Python 3.x

Бутылка также может работать на Python 3.x после использования 2to3 на ней. Легко сделать, и он работает. Тем не менее, бутылка не является "полной каркасом", но ее легко использовать.

Edit:

Я использовал "Бутылку в Python 3.1", без стекового пейтона 3.1, для конкретной игры, над которой я медленно работаю. Но на работе я просто использую Python 2.6. И скоро я буду использовать Webpy.

Сайт, над которым я работаю, находится в PHP, но когда мне нужно добавить новую функцию, которую я могу легко отделить от всего кода PHP, я сделаю это в python. Несмотря на то, что я работаю с PHP почти каждый день и использую Python всего несколько раз в месяц, я все еще могу сделать что-то быстрее на Python, чем PHP:)

Ответ 5

Фактически есть порт Django для Py3k.

http://bitbucket.org/loewis/django-3k/

Я также хорошо помню, что прочитал статью о проекте университета по переносу Django на py3k, в список рассылки django-developers, но я не могу найти поток на данный момент.

ИЗМЕНИТЬ О, вот оно:

https://bitbucket.org/fiji/django-3k/

Проект возглавляют студенты Университета Торонто.: -)

EndEdit

Запрос на что-то вроде "порт Django py3k" приводит к некоторым полезным результатам.

Также посмотрите на эти URL-адреса: