Фреймворк веб-разработки Python для пользователя Python 3.1 - PullRequest
10 голосов
/ 02 апреля 2010

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

Ответы [ 5 ]

5 голосов
/ 02 апреля 2010

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

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

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

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

2 голосов
/ 02 апреля 2010

CherryPy 3.2 (все еще продолжается) будет работать на Python 3.x

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

Edit:

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

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

1 голос
/ 02 апреля 2010

Там - это (фактически) порт Django для Py3k.

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

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

EDIT О, вот оно:

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

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

EndEdit

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

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

1 голос
/ 02 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...