LINUX.ORG.RU

Python 3.13

 , ,


0

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

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

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

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

Мне казалось что даже старинное говно работает, ну а когда по прошествии 10-15 лет старый интерпритатор делается деприкейтед, то наверное пора переписывать свою лапшу если она всё ещё нужна.

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

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

Бинарники поставляй, что ещё остаётся. У всех интерпретируемых такая беда.

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

Ну если тебе на пенсию нескоро, и ты собираешься дальше работать, то лучше переписать, пришедший на твое место соевый обрыган, который увидит древнее говно мамонта может высрать тонны кирпичей и начать тебя пиарить в сети. Будет неприятно, если тебя будущие раб_отодатели попытаются гуглить, а там первая тема про Antonl, который за 20 лет не осилил 500 строчек с Python 2 на Python 3 переписать… В общем, перед увольнением хоть перепиши

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

Наоборот замечательно. bytes.decode() и string.decode() для явного преобразования и отлично.

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

А почему именно deepseek? Впервые вижу, поиграюсь на днях, но хотелось бы узнать отзыв от реального пользователя.

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

Это все не аргументы. Там побольше 500 строчек и главное непонятно- почему я должен тратить время на переписывание нормально работающего кода? Когда то в его создание было вложено много сил, почему я должен спускать это в помойку?!

Работодатели меня оценивают по другим критериям.

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

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

Docker?

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

Я не поставлю докер на кластере. Даже если это возможно, это будет последнее чем я буду заниматься. А пользователи моего кода этим не будут заниматься абсолютно точно.

У нас код распространяется в сырцах и собирается на конкретной машине с максимально возможными оптимизациями. Традиция-с.

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

Это ты описал использование Docker как помощника для запуска приложения.

Я предлагал подготовить контейнер где будут нужные версии компиляторов, библиотек, python2, может даже настроенный редактор, и использовать его именно как окружения для разработки, где сразу можно будет сделать cmake --build и все твои библиотеки соберутся. И в нем собирать приложения для кластера, а не ставить весь докер с этим контейнером в кластер.

Такой контейнер можно будет развернуть на любой ОС, и поднять одной командой за пару минут на любом новом компьютере.

Ставил Visual Studio? Там в комплекте идет компилятор, ide, системы сборки, библиотеки, короче все нужное, вот можно из Docker такой установщик сделать.

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

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

Переписать его можно, но желающих нету. Это проблема некоторых OpenSource проектов, все хотят делать новое, а не поддерживать старый код, это обычно делают только за деньги. Видимо команда Python считает что инновации важнее сохранения совместимости.

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

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

На кластерах довольно специфические компайлеры стоят, иногда проприентарные, как я это себе в докер затащу? И, главное, - у нас юзеры не программисты как правило, а физики.

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

На кластерах довольно специфические компайлеры стоят, иногда проприентарные, как я это себе в докер затащу?

Так же как и в linux, docker похож на chroot, с тем что бы в chroot поставить компилятор думаю проблем не возникнет.

И, главное, - у нас юзеры не программисты как правило, а физики

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

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

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.