LINUX.ORG.RU

Веб-фреймворк Django прошел все тесты Python 3

 , ,


1

4

Разработчики популярного веб-фреймворка Django 19 августа сообщили, что разрабатываемая версия успешно прошла все тесты Python 3.
«В мае этого года Vinay Sajip опубликовал форк, показав таким образом возможность поддержки Python 2 и 3 в рамках единой кодовой базы. Вскоре после этой демонстрации основные разработчики проекта решили использовать six в качестве слоя совместимости. Было решено писать код Python 3, заботясь о совместимости со второй версией, а не наоборот, чтобы избежать возможных проблем в будущем».

Однако не стоит думать, будто Django с этого момента готов для применения с Python 3 на действующих системах. Изменения кода затронули многие части проекта, и хотя были приложены все усилия для исправления ошибок, все равно требуется полномасштабное тестирование кода в реальных условиях. Разработчики просят рассматривать код как «пре-альфа версию» и сообщать не только об ошибках в коде Python 3, но и в регрессиях кода Python 2.

Авторов приложений для Django убедительно просят сделать порт как можно быстрее, подсказки для этого доступны в документации.

>>> Запись в веблоге разработчиков

★★★

Проверено: DoctorSinus ()
Последнее исправление: cetjs2 (всего исправлений: 3)

Ответ на: комментарий от dismal_faun

.....

это я всё к тому что — python3 — более ЛОГИЧНЫЙ чем python2.. и это в частности значит что он более строгий к не-логичностям программистов :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от anonymous

нужен только Plain C. Всё остальное от дьявола

Опять инквизиция vs прогресс... сколько веков прошло, а ничего не изменилось.

monk ★★★★★
()
Ответ на: комментарий от anonymous

Ну дык, об этом и намекает мажорная версия. Во второй ветке тоже дохрена изменений от 2.3 до 2.7 и никто не жаловался.

baverman ★★★
()
Ответ на: комментарий от user_id_68054

это я всё к тому что — python3 — более ЛОГИЧНЫЙ чем python2

В нем логичного только три вещи:

* Юникодные строки

* new style classes по-дефолту

* абсолютный импорт.

Все остальное просто не нужно и не требовало изменения синтаксиса языка.

baverman ★★★
()
Ответ на: комментарий от baverman

На самом деле там синтаксис был изменён очень чуть-чуть. И 99.9% «проблем» создает тот самый print(), который был возведен в ранг функции. Остальные проблемы — надуманы. А вот utf8 из коробки — это то, за что python2 можно выкинуть и не вспоминать больше.

GreenBag ★★
()
Ответ на: комментарий от GreenBag

И 99.9% «проблем» создает тот самый print()

Разве что у быдлокодеров. В коде его не должно быть, на крайняк есть __future__.

Реальная проблема: except и методы dict.

baverman ★★★
()

Очень хорошо! Сколько ни пробовал разных языков, всё равно возвращаюсь к Питону. Писать приходится обычно небольшие программы, раньше кодил 7 лет на Фортране, до него на Дельфях и Паскале. Огромное количество времени уходило на оформление программ. Сейчас с помощью numpy, scipy, matplotlib и прочих удаётся писать очень быстро. Иногда только приходится мучаться, когда не удаётся составить метод из кирпичиков и приходится делать на чистом Питоне --- начинает тормозить.

Переход на Py3k одобряю, стало гораздо удобнее с Юникодом и во многих случаях логичнее, например, результат операций // и / теперь не зависят от типа операндов.

Vudod ★★★★★
()

ну вот и славно

Deleted
()
Ответ на: комментарий от baverman

Разве что у быдлокодеров. В коде его не должно быть

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

Vudod ★★★★★
()
Ответ на: комментарий от baverman

По мне, при переводе кода, реальная проблема это возврат итераторов вместо листа при map, keys, range итд. Ибо ошибку поймаешь только в рантайме.
Except, print ловится парсером, тут проблем меньше всего.

zJes ★★
()

Нужен тег «история успеха», новость очень хорошая.

cruxish ★★★★
()
Ответ на: комментарий от harper

Если знаете второй пайтон на пятерку с плюсом, то «Dive into Python 3».

Если в знаниях второго есть пробелы, то имеет смысл ускоренно пройти Лутца обе книги целиком.

anonymous
()

Всем комментаторам спасибо, а меня поздравьте с первой звездой :)

Kiborg ★★★
() автор топика
Ответ на: комментарий от baverman

А вы не используйте это безобразие. Есть прекрасный WebOb

А еще werkzeug, pesto, у django своя реализация, у bottle своя ... О чем и речь , пора request парсинг реализовать в стандартной библиотеке.

yanka ★★
()
Ответ на: комментарий от Vudod

без принтов отладка питоновских программ практически невозможна

есть огромная масса кодеров раз и навсегда вдолбившая кривые примитивные навыки, используя язык с «низким порогом вхождения», типа пых-пых, и применяющая эти навыки к любому языку, на который у них хватит мозгов деноминировать до своего уровня.

для таких-то и создавался джанго. правда, они и в нем умудряются делать глупости, которые их приучил делать их любимый «езыг для быдлокодинга».

anonymous
()
Ответ на: комментарий от baverman

Все остальное просто не нужно и не требовало изменения синтаксиса языка.

ну еще синтаксис для указания метаклассов лучше, то, что было в двойке — какашка.

shimon ★★★★★
()
Ответ на: комментарий от baverman

хех, я тут strftime обертку делал, подобную pytils Юревича. setlocale тоже вариант, но хотелось не исользовать локаль. В итоге нужно сначала обрабатывать строку недокументированной функцией, а потом еще и из utf8 -> latin1 перекодировать :)

xpahos ★★★★★
()

Когда же они родят нормальный сборщик мусора...

В Lua уже настраиваемый generational GC.

Сама Lua в тестах на shootout.alioth.debian.org в 5 раз быстрее... В python же даже при написании Cи модуля нужно всегда следить за reference count. Ну, Cython есть, уже хорошо.

Если представить python без всех этих накопленных библиотек типа NumPy, то фуфло фуфлом, на первый план выходит реализация этого языка, в которой недостатков больше чем хотелось бы.

Зачем классы реализовали на основе хэша? Программа с сотнями классов действительно воспринимается как питон, который еле передвигается по зарослям.

tp_for_my_bunghole
()
Ответ на: комментарий от anonymous

есть огромная масса кодеров раз и навсегда вдолбившая кривые примитивные навыки, используя язык с «низким порогом вхождения», типа пых-пых, и применяющая эти навыки к любому языку, на который у них хватит мозгов деноминировать до своего уровня.

Есть огромная масса кодеров до которых не доходит то что python и php это почти одно и то же. И для web разработки нет никакого смысла в переходе с php на python.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Если представить python без всех этих накопленных библиотек типа NumPy

То можно использовать pypy, будет очень быстро.

Кстати, третий Питон --- очень хороший язык для обучения.

Vudod ★★★★★
()
Ответ на: комментарий от tp_for_my_bunghole

Есть огромная масса кодеров до которых не доходит то что python и php это почти одно и то же.

Ужас-то какой! А чуваки-то не знали! Как дальше жить???

Если честно, стоит вам завязывать с веществами.

Vudod ★★★★★
()
Ответ на: комментарий от Vudod

Кстати, третий Питон --- очень хороший язык для обучения.

Для обучения чему? Это не обучение, это дрессировка.

Новичок не способен представить как работает python, что такое reference cycle, почему так а не иначе, и т.д. Есть люди, и их немало, которые инстинктивно просто не будут учить то что требует такой степени абстрагирования без объяснения аксиом от которых можно отталкиваться и строить в воображении уровни абстракции для хорошего запоминания.

tp_for_my_bunghole
()
Ответ на: комментарий от Vudod

Ужас-то какой! А чуваки-то не знали! Как дальше жить??? Если честно, стоит вам завязывать с веществами.

Уау! Чувак, да ты чо? Шта сказать то хотел?

tp_for_my_bunghole
()

Прикольно, то есть даже в коде такого проекта можно одновременно поддерживать совместимость и с 2 и с 3? Или там проверки версии по ходу и разный код для разных?

Gukl ★★★
()
Ответ на: комментарий от tailgunner

Что ты несешь упоротую чушь.

Упороты те кто не понимает что python и php это почти одно и тоже. Кому-то не нравятся скобочки, другим не нравятся отступы. Если ты чего-то не понимаешь, не надо нервничать или уходить в «несознанку».

Выскажи своими словами, если сможешь. Расскажи нам про различия. Очень интересно...

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Для обучения чему?

Алгоритмамическому мышлению главным образом.

Это не обучение, это дрессировка.

Дрессировка --- это совсем другое. Это, когда вас заставляют зубрить кучу целых типов, функции преобразования между ними, когда нужно помнить, что 1, 1.0 и 1._8 в Фортране суть разные величины, когда прибавляются к числу double precision, или про отличия i++ и ++i в сях. Дрессировка --- везде ставить ;, а перед else --- ни-ни! Когда нужно страгать заголовки и заголовочные файлы либо учить специальные команды среды разработки, деляющие это в Яве за вас.

Питон почти лишён этих проблем, поэтому можно просто писать алгорит и не париться, что вызов функции не скомпилируется, поскольку в её описании написано double K, а при вызове будет написано 4, что не есть double с точки зрения компилятора.

Vudod ★★★★★
()
Ответ на: комментарий от tp_for_my_bunghole

Если ты чего-то не понимаешь, не надо нервничать или уходить в «несознанку».

Ты выдвинул тезис про схожесть - тебе его и доказывать. А мы оценим твое доказательство.

Выскажи своими словами, если сможешь.

Зачем? Я тебе перевел, ты понял.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ты выдвинул тезис про схожесть - тебе его и доказывать. А мы оценим твое доказательство.

Я конечно понимаю что для тех кто возводит синтаксический сахар чуть ли не в ранг религии - для них php и python это совершенно разные языки.

Как в случае с php, так и с python, не имеет смысла разделение языка и его реализации. Смешно когда некоторые питонисты начинают сочинять - «ну, питон это ведь язык, а cpython это только одна из его реализаций».

Все остальные реализации на разных платформах годятся только что бы на них смачно схаркнуть и ловким движением прилепить сбоку к своему проекту.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Я конечно понимаю что для тех кто возводит синтаксический сахар чуть ли не в ранг религии - для них php и python это совершенно разные языки.

И это всё? Жиденько.

остальные реализации на разных платформах годятся только что бы на них смачно схаркнуть и ловким движением прилепить сбоку

Сразу видно - высокого полета специалист.

tailgunner ★★★★★
()
Ответ на: комментарий от SAA

Чувак, потерпи, скоро у тебя будет 1 сентября.

Тоже жду, а то приходит такой устраиваться, а потом я зову его старшего товарища по цеху(который знал только C из колледжа и за 2 недели выучил всё), и прошу его объяснить обучавшемуся по питону алгоритмическому мышлению почему у него такой баг и что к этому привело.

tp_for_my_bunghole
()
Ответ на: комментарий от SAA

Давай еще =)

пичиписты и питонисты могут работать в команде только когда не знают сколько каждый зарабатывает. пичистам трудно объяснить почему питонизд требует больше хотя с php прибыль предположительно больше(заказчикам кисло в чубчик на чём проект).

Среди пидониздов чаще встречаются «ковбои», с более завышенным ЧСВ(«пых-пых» и т.п.). Ютюб видите-ли на Python... А с другой стороны facebook нa php, и Dailymotion на Symfony.

tp_for_my_bunghole
()
Ответ на: комментарий от tailgunner

Сразу видно - высокого полета специалист.

Насмотришься на всё это, все советуют сверхбыстрый pypy, а на деле оказывается никогда сами не использовали.

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Насмотришься на всё это, все советуют сверхбыстрый pypy, а на деле оказывается никогда сами не использовали.

Уровень твоих доказательств от этого не повышается.

tailgunner ★★★★★
()
Ответ на: комментарий от Gukl

Код (по крайней мере в основном) один и тот же. Именно поэтому требуется тестирование на регрессии с Python 2.

Kiborg ★★★
() автор топика
Ответ на: комментарий от Vudod

Дрессировка --- это совсем другое. Это, когда вас заставляют зубрить кучу целых типов, функции преобразования между ними, когда нужно помнить, что 1, 1.0 и 1._8 в Фортране суть разные величины, когда прибавляются к числу double precision, или про отличия i++ и ++i в сях. Дрессировка --- везде ставить ;, а перед else --- ни-ни! Когда нужно страгать заголовки и заголовочные файлы либо учить специальные команды среды разработки, деляющие это в Яве за вас.

Если бы я не использовал python, то у меня к нему не возникало бы претензий. Когда говорят что это опэнсорс, сделай сам, то обычно отвечают что с python уже ничего не сделаешь. Не потому что не нужно, а потому что невозможно. Каааким ты быыыл... Такииим остаааался....

tp_for_my_bunghole
()
Ответ на: комментарий от tp_for_my_bunghole

Ты кто такой? Давай, до свидания!

anonymous
()
Ответ на: комментарий от anonymous

Нет, нужен только Plain C. Всё остальное от дьявола.

О, дружище, как я тебя ждал! Я вот этого не знал - и наваял программу на python + PyQt, ~100 тыс.строк текста. Возьмёшься в доказательство тезиса переписать на plain C ?

anonymous
()
Ответ на: комментарий от tp_for_my_bunghole

Таки у тебя батхерт от того что ты жрешь питон и при этом еще и нанимать питонистов не можешь?

zz ★★★★
()
Ответ на: комментарий от user_id_68054

Какбы смысл был написать код, одинаково работающий в 2 и 3, в 2 префикса b нету. И видимо six с этой задачей не очень хорошо справляется.

dismal_faun ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.