LINUX.ORG.RU

Arch Linux удалил Python 2 из репозиториев

 ,


0

3

Python 2 больше не будет поддерживаться разработчиками Arch Linux. Пользователи, у которых он уже установлен смогут его оставить, однако получать обновления безопасности они не будут. Остальные пользователи дистрибутива могут добавить себе сторонний репозиторий, в котором поддержка все еще осуществляется, либо использовать AUR.

Об окончании поддержки Python 2 было объявлено еще в январе 2020 года.

2 @AEP: действительно, проглядел конкретно.

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

★★★★

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

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

Но и с C++ всё не так просто. Я сейчас работаю над большим C++ проектом. В нём регулярно что-то, что компилилось старыми компиляторами, перестаёт компилироваться новыми.

Из-за новых аналитик и предпреждений, которые детектят говнокод. Чисто написанные проекты отлично собираются, грязно написанные – собираются после подбора флагов компиляции. За это, в том числе, и ценят С++.

Siborgium ★★★★★
()
Последнее исправление: Siborgium (всего исправлений: 1)

я ошибаюсь, или питухон (2.6 штоле) нативно в ядро встроен?

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

В Python 4 снова сломают к херам обратную совместимость и все будут страдать уже с тонной скриптов под Python 3?

Не удивлюсь когда выпустят Python 4 например без GIL, опять всё поломают.

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

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

У меня Python 3.10 уже очень долгое время есть. Текущая версия Python 3.10.7

Python 3.10.7 (tags/v3.10.7:6cc6b13, Sep 5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)] on win32

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

Попробуй C++ код из 2001 сейчас скомпилить. Да и запустить вряд ли получится.

А могли бы раскрыть - где в C++ так совместимость поломали? Как по мне, он как раз и отличается тем, что поддерживает совместимость от начала и до конца. Некоторые практики нынче считаются устаревшими - всё в raii, умных указателях и всё такое, но и сырые указатели вместе с new и delete вполне скомпилируются.

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

Но и с C++ всё не так просто. Я сейчас работаю над большим C++ проектом. В нём регулярно что-то, что компилилось старыми компиляторами, перестаёт компилироваться новыми.

Можно конкретный пример? Тоже работаю с C++ - для расширения кругозора так сказать.

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

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

К вам тот же вопрос - можете конкретный пример привести?

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

Попробуй C++ код из 2001 сейчас скомпилить.

Скармливали код от старых BeOS программ и ничего, работало. Самая большая проблема это наверное поддержка 64 бит.

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

Вот поэтому Java в Enterprise, Java это самые высокие зарпалаты

только изза того, что заставляют поддерживать говно 2001 года.

usi_svobodi
()

Во FreeBSD Python2 не так давно использовался при сборке Chromium. Сейчас критично для сборки qt5-webengine-5.15.2:

===>>> qt5-webengine-5.15.2_7 >> (6)

===>>> The following actions will be taken if you choose to proceed:
	Re-install qt5-webengine-5.15.2_7
	Install devel/pkgconf
	Install devel/qt5-designer
	Install devel/qt5-assistant
	Install devel/qt5-help
	Install devel/yasm
	Install lang/python27
iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от emorozov

Билиотеки где-то наверное изменились.

А вот тут могут быть просто разные библиотеки: одна для 2 питона, другая для 3. То есть вообще не порт, с сильно разным api.

Портировать код который знаешь, конечно, не проблема.

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

Питон 3.6 не совместим с Питон 3.7, тот с 3.8, потом 3.9 и так далее.

Неверно. Код, написанный для 3.6 будет работать в 3.7, 3.8, 3.9 и так далее. Код написанный для 3.7 скорее всего будет работать в 3.6, но не обязательно. Код, написанный для 3.8 с ещё большей вероятностью не заработает в 3.6.

То есть, Python обеспечивает обратную совместимость, но не прямую совместимость.

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

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

А те, кому нужен 2 для какой-нибудь легаси — грустно пьют горькую.

Не знаю, как сейчас, но ещё сравнительно недавно для самостоятельной сборки Qt 5.10 нужен был Python2, например. Более новые версии не собирал.

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

Вывод: выкинь питон из своих проектов. Хейтить питон и называть его историческим недоразумением это сейчас тренд.

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

Blender и без смены версий питона любит кардинально поменять апи. Мне весь багтрекер завалили сообщениями что не работает на новом блендере. Я попытался переписать, просидел весь день, так и не разобрался нормально с новым апи и бросил. Переписать с 2 на 3, для сравнения, заняло бы час-два.

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

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

весьма нетривиальные скрипты под Python 2, которые просто так не перепишешь

Вот, даже за доказательствами ходить далеко не надо. Питон 2 сложный, как перл.

В Java я взял JAR условно 2001 года

Никто не запрещает взять интерпретатор питона 2001 года и запустить.

В Python 4 снова сломают к херам обратную совместимость

Да, могут, там назревать отпиливание GIL. Это не затронет 99% всего написанного на питонах кода. Сломается только у тех, кто писал рассчитывая на существование GIL.

neumond
()

Первый пошёл! Надеюсь, остальные дистрибы не заставят себя ждать

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

утилиту, которая автоматически вносила бы корректировки в существующий код

Это вряд ли возможно. Изменения же не только синтаксические.

no-such-file ★★★★★
()
Ответ на: комментарий от neumond

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

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

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от Ja-Ja-Hey-Ho

В невыпущенной бета-версии.

Плюс я как-то нашёл баг в kitty и захотел его исправить. Баг был в Python-коде kitty. Заглянул внутрь и был шокирован - это натуральный говнокод, даже говнокодище. Удивительно, как оно вообще работает, под любой версией.

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

Короче, двумя словами: «говнокод говнотерминала kitty сломался под нерелизной версией Python»

Аааааа, ужас какой!

emorozov
()
Ответ на: комментарий от Ja-Ja-Hey-Ho

Я не сказал, что в kitty баг именно по отношению к этой ситуации. Я сказал, что в kitty говнокод, который кишит багами.

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

emorozov
()
Ответ на: комментарий от X-Pilot

А как это сейчас кстати интересно сделано у них? Ведь похоже что на Jakarta они давно уже перешли, потому что Spring Boot 2-приложение содержит кучу Jakarta-либ, которые импортируются как javax.*, а не как jakarta.*:

https://0x0.st/oWue.png

С третьей версии будут просто явные вызовы jakarta? И никакие врапперы не сделают?

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

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

И теперь из-за их слома пользователи имеют три набора Python’а в системе, а мейнтейнеры проклинают этот ад.

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

И теперь из-за их слома пользователи имеют три набора Python’а в системе, а мейнтейнеры проклинают этот ад.

docker, flatpak, snap и прочие решают проблему многих питонов со своими библиотеками в одной системе

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

IDE на (и для) Ада GPS требовала для сборки питон 2 и вылетела из Дебиан, т.к. без обновлений к тому же перестала собираться новым gcc (ведь питон 2 всё ещё в Дебиан есть). Только старая версия в unstable лежит. Хотя, вот сейчас глянул - её наконец-то, спустя несколько лет, портировали на третий. Но теперь поздновато, и поэтому сопровождающие не собираются торопиться обновлять пакет.

gag ★★★★★
()
Ответ на: комментарий от no-such-file

Это вряд ли возможно. Изменения же не только синтаксические.

Не вижу проблемы.

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

А как это сейчас кстати интересно сделано у них? Ведь похоже что на Jakarta они давно уже перешли, потому что Spring Boot 2-приложение содержит кучу Jakarta-либ, которые импортируются как javax., а не как jakarta.:

В новой версии спецификации JEE, Jakarta больше не будет использовать пространство javax: старый Spring нельзя использовать с новой спецификацией: при запуске окажется, что старых пакетов javax больше нет. А если использовать новый Spring/Spring Boot, то там уже почти все пакеты обновлены. «Почти» потому что, например, Hibernate при запуске пишет что типа «извините, у меня где-то в потрахах осталась строчка с javax, поэтому логирование может тормозить». Поэтому, да: это будет обновление, которое будет ломать API. А в новом Spring, как я понимаю, нет смысла тащить с собой старую спецификацию: там еще и минимальную версию Java не слабо так увеличили…

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

То есть, Python обеспечивает обратную совместимость, но не прямую совместимость.

Он НЕ обеспечивает НИКАКУЮ совместимость. Если ВЫ лично не в курсе дела, то не надо тут выступать. Иначе бы ВСЕ сидели бы на самой последней версии.

Это так не работает в случае с Питоном.

Если поставить условную 3.10, то все ломается. А вот в 3.9 работает.

Так же и было ДО и будет ПОСЛЕ.

И это потому что у питонописателей не хватило мозгов давать возможность вставлять в код нечто типа #PRAGMA V3.6

Чтобы сам интерпретатор знал как относится к коду. И тогда можно было бы писать хоть на 2 версии, хоть на 10ой.

но мозгов не хватило.

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

Можно конкретный пример? Тоже работаю с C++ - для расширения кругозора так сказать.

Можно. Сколько угодно!

Берём ставим себе Gentoo и получаем возможность убедится в этом собственными глазами. И там пишут какие версии и какие ограничения имеются.

Просто по памяти.

Rust очередной версии поддерживает лишь 14 LLVM. иногда можно опустится на версию вниз т.е. 13.

Тоже самое с ZIG.

Palemoon тоже компилируется GCC макс 11.3

Firefox и Хром вообще нормально собираются только CLANG и только 14 версией.

NVIDIA CUDA это максимально GCC 11.3 или CLANG.

Примеров СОТНИ и СОТНИ…

Даже Gentoo ставить по сути не надо. Просто скачиваем дерево Portage открываем каждый EBUILD и смотрим на ограничения.

Иногда эти ограничения противоречат друг другу.

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

К вам тот же вопрос - можете конкретный пример привести?

Я то на вопрос ответил…

А Вам можно вопрос? - Вы можете сами научится пользоваться Google-ом?

Это же ВАМ нужна информация. Может Вы сами и будете её искать? Иначе это будет называться детский сад или платная услуга.

Это чтобы было чиста и конкретна.

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

У меня один и тот же код работает на 3.6 и 3.9.

А кого собственно на этом свете интересует ВАШ код????? Можно хотя бы 1 более или менее адекватный ответ?

В октябре выйдет Python 3.10

Да, ладно… А почему я его мог поставить еще минимум пол года назад? А может и раньше.

Скажите почему я даже могу поставить 3.11

Вы из какого века сюда пишите?

P.S. Я должен как минимум сойти с ума, чтобы обновить 3.9 версию. Под более новые еще мало кто обновил ВСЕ библиотеки. И большая часть софта их НЕ поддерживает.

Вот тут товарищ привел пример с CUDA. есть 10050 миллионов подобных примеров.

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

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

В Java я взял JAR условно 2001 года, запустил на OpenJRE 19 и всё работает.

Ахахахаха, скажи это авторам биллинга UTM5. Где есть конкретная рекомендованная версия Java на каждый мажорный релиз(обычно это пред-предыдущий или просто предыдущий(но не текущий) LTS, сейчас вот там 8 поддерживается только).

На нерекомендованных версиях он как правило не запускается с совершенно разными ошибками(где-то с SSL проблемы, где-то что-то связанное с reflection, всего уже и не упомню). Это кстати одна из причин, почему они после стольких лет перевели Java-админку в разряд legacy и запилил наконец-то НОРМАЛЬНЫЙ web-интерфейс в виде отдельного бинарника(подозреваю что на go, но глубоко не копал что там внутри).

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

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

Это проекты не на C++, а на LLVM, Clang, GCC.

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

С таким же успехом можно говорить, что в Java нет никакой переносимости, так как какой-то проект использует Android API, которого нет в Linux.

Или что нет HTML JS CSS стандартов и обратной совместимости потому что какие-то сайты работают только в Chrome. Хотя какие-нибудь сайты 90 годов всё ещё прекрасно открываются.

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

Много всего

Много не значит, что это не хеловорд. Просто много хеловордов.

no-such-file ★★★★★
()
Ответ на: комментарий от emorozov

написанный для 3.6 будет работать в 3.7, 3.8, 3.9 и так далее

Чувак, прежде чем писать такую херню, можно же погулить типа python 3.7 breaking changes и увидеть что проблемы таки есть.

no-such-file ★★★★★
()
Ответ на: комментарий от hobbit

А те, кому нужен 2 для какой-нибудь легаси — грустно пьют горькую.

В докере есть вторая ветка. Просто туча проектов переходит в контейнеры и не заморачиваются.

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

Так речь про С++ была, а вы мне зиги с растами в пример приводите, генту зачем-то, засылы в гугл :) Может не надо всего этого на вентилятор?

Судя по этому ответу и общему градусу неадеквата, чего-то разумного от вас ждать не стоит. К вам вопросов нет (да и предыдущие-то не к вам были :))

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

двойка EOL уже сколько? Плановый переход на тройку когда должен быть?

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

Так речь про С++ была, а вы мне зиги с растами в пример приводите, генту зачем-то, засылы в гугл :) Может не надо всего этого на вентилятор?

Сэр! Это крайняя степень неадеквата. Я даже не знаю, что тут можно посоветовать. К врачу или в школу.

Для остальных. Firefox и прочая коллекция программ собирается C++ компилятором.

Gentoo как раз тут совсем НЕ причем. Он просто прозрачно все это показывает. В Ubuntu все заранее собрано ДО вас и Вы не знаете чем и почему.

Может Вам заняться вышиванием крестиком? С компьютерами Вам точно не по пути.

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

Это проекты не на C++, а на LLVM, Clang, GCC.

Ааась? Может таблеточку выпить?

Firefox это не проект на C++, а проект на Clang/Gcc?

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

Сэр, Вы свои звёздочки на стройке что-ли заработали? Или это такая массовая деградация в России?

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

Ну разумеется… Внутренняя функция компилятора - компилировать текст в объектный код… Например компилятор Rust совершенно не может компилировать код написанный на C++ и выдает кучу ошибок. Поэтому все эти неправильные проекты написаны специально под Clang/Gcc/MSVC/Icc и еще пару тройку компляторов..

Но ничего общего с зависимостью от версии компилятора тут нет… Вы там что курите и что пьёте?

Может доктора поискать?

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

Так речь про С++ была, а вы мне зиги с растами в пример приводите, генту зачем-то, засылы в гугл

Если бы Вы смогли пользоваться гуглом или компьютером вообще, то нашли бы такую ссылку

https://stackoverflow.com/questions/6622454/cuda-incompatible-with-my-gcc-version

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

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

А кого собственно на этом свете интересует ВАШ код?

Пользователей.

И каждый раз этот долбанный питон что-то ломает.

Вы просто не умеете его готовить)

th3m3 ★★★★★
()

Python 2 было объявлено еще в январе 2020 года.

Не слишком ли рано? Qt3/Qt4 в GNU / Linux Debian тоже уже не установить?

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

Мейнтейнеры спокойно запаковали две версии, нормальную и древнюю двойку для заброшенного софта, и не жужжат. Пользователи, кто реально пользуется самим питоном, тоже проблем с двумя (а бывает и больше) версиями не испытывают.

И только на лоре от перехода 2/3 десятилетней давности до сих пор горят булки.

Арч всё правильно делает, надо удалять двойку. Пусть староверы сами возятся со своими загонами.

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