Подтвердить что ты не робот

Почему вы не переключитесь на Python 3.x?

Я спрашиваю об этом по разворачиваемым причинам. Как и в случае, если я пишу решение в python, я чувствую себя обязанным писать в 2.x из-за отсутствия принятия python 3. Это основная ежедневная забота, и я хочу выяснить, что происходит.

Для многих вопросов на основе python люди предоставляют решения, которые просто не работают в python 3.x.

Итак, я задаю вопрос: что помешало вам перейти на python 3.x в вашей личной или рабочей среде? Конверсия script существует, и все же программисты (которые, как правило, самые ранние усыновители всего), похоже, отказываются обновляться.

Почему?

4b9b3361

Ответ 1

[Редактировать 03/10/2014: Этот ответ теперь устарел. Django некоторое время поддерживал Python 3.]

[Тем не менее, следует также отметить, что сторонние пакеты и расширения django, используемые во многих проектах Django, находятся на разных этапах реализации совместимости Python 3. Более подробную информацию можно найти в веб-сайт пакетов Django, который отслеживает состояния различных проектов.]

Django не переместился на 3.0. Это все, что мне нужно знать.

Вопросы, относящиеся

Большинство ответов в этих вопросах повторяют одни и те же чувства. Помимо Django, слишком много фреймворков/библиотек - WxPython, PyGame, Django и т.д. - еще не приняли его. Я уверен, что, черт возьми, не сделаю ход, пока они не сделают.

Ответ 2

Поскольку основные библиотеки, от которых зависит моя кодовая база, не выпустили версию 3.x. (wxPython, matplotlib, numpy и т.д.)

Таким образом, ответственность идет вверх по течению от моей точки зрения.

Если бы все мои зависимости были совместимы с 3.x, я бы, наверное, сейчас переключился.

Ответ 3

  • Скомпилированные сторонние модули не обновлены.
  • Разный синтаксис
  • Медленные целые числа.
  • #python IRC-канал на freenode имеет в своем названии, что его слишком рано переключаться.

Ответ 4

Сторонние инструменты и библиотеки. У меня возникают проблемы с тем, что некоторые вещи работают под 2.6 (не много проблем, заметьте, но некоторые).

Как я вижу, экосистема является одной из самых сильных сторон Python, и к 3.0 в этот момент выбивается много всего из окна. (Через год я уверен, что история будет совершенно другой.)

(Очевидно, здесь есть проблема с курицей и яйцом, но, к счастью, это не моя проблема для решения, поэтому я останусь с 2.6 на некоторое время.)

Ответ 5

Для многих вопросов на основе python люди предоставляют решения, которые просто не работают в python 3.x.

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

Перезвоните мне, когда у меня есть обновление script для моего мозга.

Ответ 6

Потому что установка по умолчанию 2.5 на Mac OSX Leopard работает нормально. Мне не нужно обновляться, и я не вижу преимуществ для обновления, кроме конца проблем с unicode.

Ответ 7

Если вам интересно перейти на Py3k, одним интересным способом было бы написать код в Py3k и использовать 3to2 script, который сейчас записывается как часть проекта Google Summer проекта кода в строках 2to3 script.

Ответ 8

В самой операционной системе, которую я использую больше всего, Debian не имеет пакета Python 3, даже в "нестабильной" (новой) ветке. Если я сам ее не скомпилирую (это уже 20-й век), это значит, что мне не Python3.

Я уверен, что это одна и та же проблема со многими операционными системами.

Ответ 9

К сожалению, по той же причине, что и большинство других, - сторонние библиотеки до сих пор не были совместимы с 3.0. По этой причине, а также некоторые дистрибутивы GNU/Linux (Ubuntu в моем случае) по-прежнему поставляются с Python 2.6, я не могу полностью выбросить 2.x из окна.

Однако изменение 3.0 не является основным IMO. За исключением того, что "печать" является функцией и новой системой форматирования строк, она действительно более или менее такая же, как и раньше.

Фактически, я обнаружил, что большинство моих старых сценариев (те, которые не зависят от 3.0 несовместимых сторонних библиотек) будут работать безупречно в версии 3.0 после обновления всех отпечатков и форматирования строк. В некоторых случаях мне также пришлось менять имена модулей (в частности, материалы из модуля "email" ), но кроме этого ничего не значимо.

Кроме того, все сценарии, которые я обновил для совместимости с 3.x, до сих пор все еще работают безупречно в 2.6 (но не старше 2.x, конечно, поскольку им не хватает нового синтаксиса 3.x).

Ответ 10

Основная причина, по которой я не переключаюсь, заключается в том, что так много книг и веб-сайтов, посвященных кодированию, все равно 2.x. Я установил 3.x и понял очень быстро, что мне пришлось удалить и перейти к 2.x.

Ответ 11

Из-за отсутствия обратной совместимости переключение затруднено, особенно если есть C-код. И хотя я понимаю, что unicode/string вещь может быть очень полезной для некоторых людей, я, конечно, не забочусь о ней сам.

В принципе, Py3k не решал многие проблемы, которые меня волнуют (проблемы с дистрибутивом, моделирование версий модулей, упрощенная модель импорта).

Ответ 12

Python 3+ не поддерживает numpy. Исправление: теперь это делает. Поскольку теперь он поддерживает mathplotlib.