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

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


person naivnomore    schedule 02.04.2010    source источник
comment
Я думаю, что это хороший вопрос, хотя я предлагаю вам python2.7. +1   -  person YOU    schedule 02.04.2010
comment
Он придет, но да, webdev еще нет в Py3k. Это разочаровывает и расстраивает; у нас до сих пор даже нет работающего стандарта WSGI.   -  person bobince    schedule 02.04.2010


Ответы (5)


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

person Michael Aaron Safyan    schedule 02.04.2010

Как насчет того, чтобы попробовать Python2.7? Многие функции Python 3.x недавно был перенесен на 2.7, например OrderedDict, более быстрые модули ввода-вывода, понимание наборов, понимание dict и т. д.

По моему опыту, Python 2.7 работает без проблем с версией магистрали django 1.2.

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

person YOU    schedule 02.04.2010
comment
Очень верно о разнице во времени, чтобы изучить другой фреймворк по сравнению с переходом с Python 2.x на 3.x. - person Echo says Reinstate Monica; 02.04.2010

Как и другие, я предлагаю вам начать с 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 в феврале. Вы можете получить доступ к видео и предварительному просмотру слайда здесь:
http://us.pycon.org/2010/conference/schedule/event/29/

person wescpy    schedule 02.04.2010

CherryPy 3.2 (над которым все еще ведется работа) будет работать на Python 3.x.

Bottle также может работать на Python 3.x после использования на нем 2to3. Легко сделать, и это работает. Тем не менее, Bottle не является «полным фреймворком», но им легко пользоваться.

Редактировать:

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

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

person Echo says Reinstate Monica    schedule 02.04.2010

На самом деле есть (есть) порт Django для Py3k.

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

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

ИЗМЕНИТЬ Вот оно:

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

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

ЗАВЕРШИТЬ ИЗМЕНЕНИЕ

Запрос чего-то вроде «Django py3k port» дает некоторые полезные результаты.

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

person Kenny Meyer    schedule 02.04.2010