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)

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

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

Отлаживается твой MPI

https://stackoverflow.com/questions/57519129/how-to-run-python-script-with-mpi4py-using-mpiexec-from-within-pycharm

Они ж эти отладчики как клиент-сервер работают, а там лишь общая сеть была

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

Хрень тут Вы пишете, скажем про отладку. Перечитайте ещё раз мой комментарий вдумчиво, и погуглите как работают кластеры общего доступа.

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

Я же говорю, Вы свой личный опыт пытаетесь обобщить на все случаи жизни. Всё тут дураки сидят, один Вы познали дзен правильной отладки…

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

кста если кластер эмульнуть на локалной сети с обычными десктопами - чисто как лаб окружение хоть какое то ускорение возможно (при сохранение обычного юзер экспиринса у десктоп-пользователей) - чисто поиграться с dusk и прочими массово-распределёнными с python-интерфейсом

чисто на обычной локалке это кроме учебного опыта какой выхлоп?

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

От решаемых задач зависит. У нас даже как то собирали для заказчика кластер из 24х десктопных корпусов и считали на нем вполне актуальные вещи.

Там проблема с надёжностью вылезает. А так вполне.

AntonI ★★★★★
()
Ответ на: комментарий от 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
()
Ответ на: комментарий от Tinker

То есть ты потверждаешь мою догадку, что python в HPC играет роль технички. И с таким же успехом ее мог бы исполнять Lua например.

Вполне. Torch, например, изначально с Lua делали, это потом уже появился PyTorch.

Но есть нюанс: в Lua из коробки нет классов (есть только прототипное ООП на метатаблицах) и нет вообще никаких «батареек» (всё есть в сторонних модулях, но их нужно ставить, и пакетного менеджера из коробки нет), что, естественно, не способствует популяризации в качестве ЯП общего назначения.

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

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

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

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

Вот и как юзер и как разработчик не знаю ни одного проекта на 2 питоне который был жив когда он сдох. Это только у совсем странных личностей он нужен, как фортран примерно. Кто тут на ЛОР-е ноет про второй питон - пара учёных из НИИ и универов у продуктов которых нет пользователей, а сам ЯП им нужен только как продвинутый калькулятор для научных рассчётов (а каких-то 10-20 лет назад они (не конкретно эти люди с ЛОР-а а их предшественники и коллеги) так же ныли сначала про фортран, потом про делфи, как они ныли про кобол я не застал). Ну и пара челиков с легаси кодом и дикой нехваткой финансирования страдают, остальным норм всё.

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

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

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

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

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

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

Предлагаю здесь обрамлять слово «ученые» в кавычки т.к. те «ученые» что напыщенно били себя пяткой в грудь и апеллировали к авторитету оказались обычными околонаучными балаболами опростоволосившимися на обсуждении физики школьного уровня. Дважды. А так хорошо начинали…

Поэтому и все их заявления про второй питон да и вообще их мнение не имеет никакого веса. Закопали его и хорошо.

Obezyan
()

фигасе вы разошлись. пацаны фсё нормально я сконвертировал строчки, тред можно закрывать. до гнома с его 1000+ всё равно не доплюнем

alt-tab-let ★★
()
Ответ на: комментарий от alt-tab-let

фигасе вы разошлись. пацаны фсё нормально я сконвертировал строчки, тред можно закрывать.

А все уже, все, а надо было раньше… Через пяток постов свернем на лишп чтобы внесли Лавсанчика и выжмем еще соточку-другую постов.

Obezyan
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.