LINUX.ORG.RU

Python 3.13

 , ,


1

5

После года разработки вышла новая стабильная версия интерпретируемого языка программирования Python 3.13. Релиз включает изменения в собственно языке и его стандартной библиотеке. К важнейшим изменениям относятся использование нового интерактивного интерпретатора по умолчанию, экспериментальная поддержка работы в режиме free-threaded (т. е. с отключением global interpreter lock) (PEP 703), и JIT-компилятор (PEP 744).

С этого релиза осуществлён переход на новый цикл релизов Python (Annual Release Cycle for Python, PEP 602), в связи со стремлением расширить период «полной поддержки» новых выпусков:

  • Python 3.9–3.12 имеют полтора года полной поддержки, за ними следует три с половиной года исправления брешей в безопасности.
  • Python 3.13 и более поздние релизы будут иметь два года полной поддержки и три года исправлений уязвимостей.

Продолжается работа по усовершенствованию сообщений об ошибках. Теперь traceback’и по умолчанию подсвечиваются цветом. Встроенная функция locals() теперь имеет определённую семантику для изменения возвращаемого меппинга (PEP 667), а параметры типов (typing.TypeVar, typing.ParamSpec, typing.TypeVarTuple) поддерживают значения по умолчанию (PEP 696).

Изменения стандартной библиотеки включают удаление устаревших API и модулей (aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu и xdrlib), а также привычные улучшения в области дружелюбия к пользователю и корректности. Несколько модулей исключены из поставки в связи с объявлением их устаревшими в Python 3.11 (PEP 594), в том числе инструмент и библиотека 2to3.

Из улучшений безопасности стоит отметить, что ssl.create_default_context() устанавливает флагами по умолчанию ssl.VERIFY_X509_PARTIAL_CHAIN и ssl.VERIFY_X509_STRICT.

Добавлена поддержка платформ: Apple iOS и Android теперь официально поддерживаемые платформы (tier 3) (PEP 730, 738). wasm32-wasi поддерживается на уровне tier 2, прекращена официальная поддержка wasm32-emscripten.

Для более основательного ознакомления с нововведениями релиза, обращайтесь к официальной документации (по библиотеке, по языку). Руководствуйтесь статьей «Переход на Python 3.13» для обновления своих проектов на новую версию языка. Также см. changelog.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 7)
Ответ на: комментарий от annulen

Да при чем здесь ОС, есть такой проект Anaconda - это умные люди не ходили по форумам и не ныли, а взяли и запилили свой менеджер питонов, который позволяет сколько угодно версий питона держать на одной машине, которые устанавливаются из репозитория анаконды и никак системному питону не мешают, а так же и из коробки предоставляет туеву хучу уже собраных бинарей для всяких научных нужд. И что характерно есть целых несколько опенсорсных форков, которые этот репозиторий используют.

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

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

Мне одно интересно, зачем разработчикам вообще связываться с Питоном для новых проектов в связи вот с этими «бесконечными версиями Питона»?

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

А в чем проблема то? В твоём дистре половина утилит на нем написана, ты как-то страдаешь по этому поводу? Для разработчиков вообще никакой абсолютно проблемы нет, наоборот. У тебя есть зависимости, под каждый проект ты можешь создать свое окружение и спокойненько в нем работать не мешая коду в соседней папке. Совместимость поломали один раз пятнадцать лет назад, и ни для кого это не стало сюрпризом. Меньше слушай дураков.

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

есть такой проект Anaconda - это умные люди не ходили по форумам и не ныли, а взяли и запилили свой менеджер питонов

Анаконду пиарили на курсах по датасасаенсу в 2017 и до хз какого года. Это для виндузятников хрень, и то для специфической публики с джупитер нотебуками (я знаю, что он сейчас лаб)

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

в связи вот с этими «бесконечными версиями Питона»?

В питоне ломающие изменения редкость. Например, сделали async ключевым словом и переменные с таким именем начали сыпать ошибками и из последнего - перенесли в другое место многое, например, раньше Sequence импортировался из collections теперь он в typing. Те тут какие-то невротики отписались — караул все сломали, но «сломали» еще в 2008 с первым релизом 3 питона (не альфа или бета, альфа была еще в 2006), они все это время сидели ковыряли говно мамонта, поэтому их, наверное, нужно пожалеть. Но ты не можешь выкупить почему другим с этого весело так как не в теме, да и вообще как все особенные «весь тред не читал», но «осуждаю»

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

Потому что альтернативы нет. Pandas, Numpy, Tensorflow, Pytorch, Pycuda, Sklearn, Seaborn - без них приличный человек который занимается чуть большим чем сует указатель куда не надо, как без рук.

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

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

Вы вводите в заблуждение, пользуюсь анакондой лет 5-6 в линуксе. Юпитер ноутбуками при этом практически не пользуюсь т.к. мне проще сразу код писать редактором в файле, а не блокнотом в браузере.

Вообще, те кто кричат о том что есть какая-то проблема с одновременным использованием питона от v2.7 до v3.12 (3.13 еще не ставил) либо чертовы луддиты застрявшие в прошлом десятилетии когда это проблема еще была и с тех пор не выучившие ничего нового, либо откровенные балаболы с претензией на ученость.

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

пользуюсь анакондой лет 5-6 в линуксе

2024 - 6 = 2018 -> жертва курсов. Эту анаконду я еще в 2012 запускал, когда на Винде программировал, а потом ее в линуксы перетащили какие-то аметисты, я даже удивился на кой она тут нужна когда есть pyenv (появился в 2013) и встроенные виртуальные окружения. Она еще вместо встроенного venv (вышел в 2012 как и та срань) использовала сторонний virtualenv для совместимости с ненужнопитоном, и для меня дико видеть, что кто-то этой дрисней пользуется сейчас, так она родилась мертворожденной. Это чисто виндовая весчь, когда там не было ни вингетов, ни wsl. Вот тогда, да она была полезна

rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 1)
Ответ на: комментарий от rtxtxtrx

ээээ. анасонда абстрагирует для нубов сборку форда-Т из радео деталей по почте в готовый к игре после включения стаф

кста нотебуки(jo jo lab) это по факту взлетевшее литературное программирование Кнутия в малом

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

Товарищ, все уже поняли, что ты линуксее Торвальдса. Теперь, пожалуйста, перестань бредить.

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

О, пошла апелляция к авторитету «да я, да у меня». Отклонено, обтекайте. Написали фигню про то что этот инструмент заточен под винду, вас поправили. Вместо того чтобы принять новое знание тк ваши знания о предмете безнадежно устарели вы начали пытаться принизить того кто указал вам на ошибку.

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

Да и вообще, причем тут курсы если честно не понял, у вас какая-то травма после курсов? Покажите на кукле где вас трогал препод.

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

В питоне ломающие изменения редкость.

Тем временем буквально в этой новости:

удаление устаревших API и модулей (aifc, audioop, cgi, cgitb, chunk, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu и xdrlib)

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

Тем временем буквально в этой новости

Что ж ты остановился-то на самом интересном месте?
Поведай же товарищам: какие из этих модулей используются в твоих проектах?

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

Либо обратная совместимость есть, либо ее нет.

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

Pandas, Numpy, Tensorflow, Pytorch, Pycuda, Sklearn, Seaborn - без них приличный человек который занимается чуть большим чем сует указатель куда не надо, как без рук.

Numpy, Sklearn – это который ///Numpy contains a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities?

Pandas, Sklearn – это которые в зависимостях просят binutils и gcc?

Pycuda – Speed. PyCUDA’s base layer is written in C++, so all the niceties above are virtually free.

Seaborn – который хочет llvm?

Т.е. пионисты как без рук без библиотек, написанных сователями указатель куда не надо? Так зачем тогда именно Питон?

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

Датасасаенс - это не про программирование на питон. Датасаентист или нейронщик - это не программист. Это как тестеровщик. Питон может использовать сишные либы как могут NodeJS, PHP, Perl, Java и тп… Скриптовые языки были придуманы для веба, где работа с сокетами и строками не грузит CPU, а вот для CPU-bound он уже не подходит мешает сборщик мусора, неэффективны структуты с динамическим выделением памяти и тд и тп… Питон выбран лишь из-за простоты синтаксиса м утинной типизации.

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

Поставил дизлайк видео. Оно начинается прямо со сравнения C++ и Java с Python. Он на одну ступень ставит наши православные кресты с интепретируемой жабой… А дальше пошла канитель про matlab и прочие ненужновещи типа математики, суперкомпьютеры для тру-программистов

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

Т.е. пионисты как без рук без библиотек, написанных сователями указатель куда не надо? Так зачем тогда именно Питон?

Попробую раскрыть свою мысль если вы способны воспринимать. Куча языков написано на С, да тот же PHP, Perl и тд.

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

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

Языки более высокого уровня, заполняя эту пустоту, добавляют слой абстракции в виде себя позволяя разрабатывать в десятки раз быстрее. Такие языки грубо говоря - обертки над набором С-библиотек и функций, долго и мучительно написанных и отлаженных, с кровью и потом, но один раз.

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

Да, сам язык при этом будет медленнее С, но это палка о двух концах: с одного скорость выполнения программы, с другого скорость разработки программы. Разные языки высокого уровня позволяют ухватиться за эту палку в разных местах от краев. Таким образом можно подбирать язык (инструмент) под задачу.

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

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от Obezyan

основная реальная причина почему не фсё на Си

не в Си как таковом

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

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

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

т.е сейчас дешевле иметь ограниченые инструменты для «недисциплинированных» программистов чем иметь гуру самоконтроля переключением малого количества битов получающего от сверхложной системы произвольное желаемое на перёд поведение :)

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

Вы правы в том что в наше время инструменты затачивают под массы так себе подготовленных программистов. Но главная цель этого всего (использование языков более высоких абстракций и использование джунов в продакшне) - увеличение скорости разработки продукта.

Причем в наше время продукт практически никогда не будет завершен и отлит в граните на года, он будет постоянно меняться тк меняются условия рынка. Скорость разработки это и скорость внесения изменений в уже созданное. А также важно ведь чтобы стоять на месте нужно бежать изо всех сил…

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

Это все не объясняет, как так вышло, что главным языком для перемножения матриц стал язык, лишенный массивов. Почему, например, R проиграл? Раз библиотеки все равно на низкоуровневых языках.

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

Это все не объясняет, как так вышло, что главным языком для перемножения матриц стал язык, лишенный массивов.

Как раз объясняет, numpy использует С. Этому пакету почти 30 лет. Другое быстрое перемножение матриц - на видеокартах, там опять используется C (NVIDIA CUDA). Питон просто удобный клей для этого всего.

Почему, например, R проиграл?

R не проиграл, а ушел в стат. вычисления. Поэтому анаконда при создании нового окружения позволяет указывать версию питона и R. И то и другое используется. Точно также не проиграл MATLAB, а занял свою нишу.

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

Но главная цель этого всего (использование языков более высоких абстракций и использование джунов в продакшне) - увеличение скорости разработки продукта

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

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

А также уменьшение количества ошибок

А также упрощение отладки.

А также перекладывание работы, которую может сделать машина (управление временем жизни объектов и т.д.), с человека на эту самую машину

А также это все напрямую входит в то что я описал как «скорость разработки».

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

Мне одно интересно, зачем разработчикам вообще связываться с Питоном для новых проектов в связи вот с этими «бесконечными версиями Питона»?

А что вместо него осталось?

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