Комментарии 25
В целом выпуски Python 3 обратно совместимы. Поэтому теоретически вы можете просто перейти на версию 3.7, исправить все ошибки, затем перейти на версию 3.8, и так до Python 3.9Да но есть нюансы:
Python 3.9.0 cannot be used on Windows 7 or earlier.
Python 3.5.0 cannot be used on Windows XP or earlier.
ради 3х функций PathCchCanonicalizeEx, PathCchCombineEx, PathCchSkipRoot.
Но теперь очень можно что бы софт особенно (языки и библиотеки которые используют другие) требовали только последнюю версию ОС даже если на то нет причин.
В результате сжигают мосты для старого железа. А потом зеленые ноют что всё пропало.
Более того в апи специально появляются новые модные функции типа CreateFile2 без которых просто жить нельзя, зато можно сказать что пора обновить комп, т.к. новая ось требует новое железа, а новый софт работает только на
Microsoft has established a policy called product support lifecycle [1]. Each product's lifecycle has a mainstream support phase, where the product is generally commercially available, and an extended support phase, where paid support is still available, and certain bug fixes are released (in particular security fixes).Я сам до сих пор пользуюсь Windows 7, и вообще мягко говоря не фанат Python, но иногда приходится с ним иметь дело, поэтому как бы немного в курсе.
CPython's Windows support now follows this lifecycle. A new feature release X.Y.0 will support all Windows releases whose extended support phase is not yet expired. Subsequent bug fix releases will support the same Windows releases as the original feature release (even if the extended support phase has ended).
Вообще какое дело питону до микрософт policy? Что им мешает идти своим путём с максимальным покрытием абонентов? (Кроме как взносы спонсоров и не навязчивые рекомендации вип визионеров?) А прекращать поддержу win7 из-за како-го то leftpad-а не очень убедительная причина.
Что касается самой Microsoft, VS2019 официально полностью поддерживает Windows 7, даже в тех местах где формально нужны новые API из Windows 10, они прикрутили костылики, чтобы оно работало и на Windows 7. VS2022 официально уже не поддерживает Windows 7, с костыликами для поддержки уже не заморачиваются, но её можно установить, и большинство функций даже работает (но некоторые новые функции глючат и на старой ОС и их лучше выключить). При этом в самой VS2022 до сих пор доступны все инструменты для разработки даже для Windows XP, для тех кто до сих пор хочет поддерживать эту ОС.
То есть сама среда разработки официально поддерживается только на новых ОС, потому что разработчики среды перестали тратить время на поддержку Windows 7, 8 и старых необновлённых 10, но при этом никто не запрещает в ней разрабатывать софт, который будет работать хоть на Windows XP.
Не очень сходится с вашими догадками.
они дропнули её поддержку «по расписанию» для собственного удобства
Я про это и говорю, что везких причин кроме расписания к дропанью нет.
Разработчики других библиотек обычно не виноваты, они просто используют стандартные инструменты куда специально закладываются подобные грабли несовместимости. Например в libstdc++ добавили функцию basic_string::compare и внезапно часть дистрибутивов линукса мгновенно устарела. Вроде хотели же как лучше. Но тенденция во всей индустрии к одноразовому софту прямо видна не вооруженным глазом.
Лично мне кажется, что они поспешили (и надо было протянуть хотя бы до 2023), но хоть сколько нибудь заметной волны недовольства от отказа поддержки Windows 7 не было, значит наверное Python мало кому уже нужен на Windows 7. Судя по 15 звёздам в репозитории версии с поддержкой Windows 7, людей кому нужен новый Python на Windows 7 ничтожно мало.
От того что софт в какой-то момент заканчивает поддержку старых ОС, он не становится одноразовым. Если вам нужен какой-то новый софт, который уже не работает на старой Windows 7, и у вас нет возможности или желания самостоятельно собрать его с поддержкой Windows 7, вы всегда можете поставить Windows 10 или 11. Я как-то ставил Windows 10 на компьютер аж 2009 года. Работает. Windows 10 будет поддерживаться ещё минимум 5 лет.
вы всегда можете поставить Windows 10 или 11иногда такое не возможно. Да и смена «обоев» иногда приводит только к лишнему геморою и страданиям от «новшеств», если раньше всё просто работало, теперь за этим всем надо следить не поломают ли новые обновления принтеры и еще чего просто скажут что на этом железе больше работать невозможно, покупайте новое.
Ну «эта ОС устарела» — достаточно веское основание для отказа от поддержки.— тут не отказ, а специальная установка палок в колёса.
Дело в том что огромное количество софта использует питон как скриптовый язык и даже если они не планировали их софт автоматом теперь вынуждает обновляться, старый софт это не модно, а еще и очень опасно (как раньше с ним работали и не вымерли досих пор, от поражения страшными дырами в безопасности не понятно).
И то что звёзд в репозитории мало, это потому как проблемы появляются не сразу а постепенно, более того сам посебе патч не исправит проблему с софтом который будет использовать питон без патча.
От того что софт в какой-то момент заканчивает поддержку старых ОС, он не становится одноразовымМожно назвать запланированным устареванием. Но это сути не меняет.
Так вас никто не заставляет - используйте старый, не обновляющийся, питон на старой, не обновляющейся, windows.
Заканчивается поддержка Python 3.6Или pip продолжит работать?
Не вижу причин почему бы и нет. Если вы хотите чтобы он продолжал скачивать пакеты с PyPI (или другого репозитория) - то он будет их скачивать до тех пор пока они там публикуются.
Как я вижу вашу проблему - у вас (ок, теоретически у вас) есть старая система на Windows, которую нельзя обновлять по каким-то причинам.
Ок, скачайте все необходимые бинарники (старый Python, и тп) и пакеты (whl) локально и ставьте их локально когда переустанавливаете что-то. Я так делал.
Не хотите локально - можно поднять репозиторий во внутренней сети и ставить только оттуда.
Обновления безопасности не будут приходить на Python? Так они и на операционку не будут приходить, а в ней дыр гораздо больше.
Дело в том что огромное количество софта использует питон как скриптовый язык и даже если они не планировали их софт автоматом теперь вынуждает обновлятьсяРазработчики этого софта тоже сами принимают решение, нужен ли им самый новый Python без поддержки Windows 7, или они ещё хотят поддерживать Windows 7, из-за чего они могут решить либо остаться на предыдущей версии Python, либо же могут сами собрать самую последнюю версию Python с поддержкой Windows 7, даже патч для этого готовый есть. Но так как они тоже посчитали Windows 7 устаревшей, то тоже отказались от поддержки.
В начале следующего года Google грозится перестать выпускать мажорные обновления Chrome для Windows 7, а ещё через год прекратить выпускать даже критические обновления для той версии Chrome, что будет последней для Windows 7. Клоны Chromium неизбежно последуют, так как вряд ли кто захочет тратить деньги на самостоятельную поддержку Windows 7. Как и в случае с Windows XP, Mozilla скорее всего будет поддерживать Windows 7 на 2-3 года дольше.
В общем, чем дальше, тем больше ПО будет выходить без поддержки Windows 7. Это неизбежно.
Можно назвать запланированным устареванием. Но это сути не меняет.Нет, это не запланированное устаревание. Вы всё ещё можете обновить ОС, чтобы новый софт тоже работал. Вы просто хотите странного: чтобы самый новый софт работал на ОС более 10-летней давности. Старой ОС старый софт. Жизненный цикл Windows 7 подходит к концу, и в ближайшие несколько лет она перейдёт в категорию «ретро», как и Windows XP. Грубо говоря, когда все основные браузера (по сути, Chrome и Firefox) перестанут поддерживать Windows 7, тогда и всё. Так как сидеть в интернете в не последней версии браузера долго не получится (уже через год сайты начнут ломаться), плюс это небезопасно.
Вы просто хотите странного: чтобы самый новый софт работал на ОС более 10-летней давности.По вашему это не возможно?
Старой ОС старый софтк сожалению вы просто не сможете найти такой софт. Например дрова для старых карт AMD последняя версия которая есть на сайте, не рабочая (поломано апаратное ускорение видео), а рабочую надо еще поискать.
к сожалению вы просто не сможете найти такой софт.При желании можно очень много чего найти. Я вот несколлько лет назад искал старые программные синтезаторы Yamaha для Windows 3 и 9x, нашёл много всякого, теперь не знаю как найти время чтобы это всё разгрести и систематизировать. Хотя это вообще софт родом из 90-х. А вы говорите про софт для Windows 7, которая ещё только собирается перейти в категорию «ретро».
По вашему это не возможно?Возможно поддерживать да хоть Windows 95. Но это теряет смысл по мере устаревания ОС, а время и деньги на поддержку — требует.
Вас же не возмущает, что свежий Python не поддерживает DOS. А ведь когда-то поддерживал. То же самое и с Windows 7. Рано или поздно, весь популярный софт перестанет её поддерживать.
Если целесообразно - то возможно, конечно. Но каждая строчка кода, теоретически, должна кем-то поддерживаться и тестироваться. Нужно ли тестировать на старой ОС? А, ведь, для нее и собирать бинарники надо тоже отдельно.
Вы пишете что не было причин ломать функциональность и изменения не велики - но, возможно, это подготовка к дальнейшим изменениям.
Что касается совместимости: в новом Python вводятся, например, новые языковые констукции - async/await, моржовый оператор, switch, ... Раз использовав новую фичу - вы автоматически заставляете всех пользователей вашего приложения или библиотеки использовать версию интерпретатора выше определенной вами. Если где-то еще используется Python 2.4 (например) - это разве повод поддерживать его в новых библиотеках?
Но каждая строчка кода, теоретически, должна кем-то поддерживаться и тестироваться
Внезапно эти строчки уже работали. И тесты проводит машина.
Что касается совместимости: в новом Python вводятся, например, новые языковые констукции — async/await, моржовый оператор, switch
Внезапно питон работает не только под windows и желание использовать именно в версии windows эти «незаменимые» блестящие функции очень настораживает. Каким боком внутри языковые конструкции привязаны к функция работы с именами файлов. Которые отсутствуют в других ос. При этом не вызывая каких то ни было трудностей.
Я вот несколлько лет назад искал старые программные синтезаторы Yamaha для Windows 3 и 9x, нашёл много всякого
Сравнили, раньше по было не большое и автономное. Кто будет хранит сетевые репозитории всех версий питона и библиотек. Оно кому-то надо?
Насколько я понимаю, одна из фич новых версий Windows - поддержка путей длиннее 260 символов. И эти изменения в python, возможно, связаны с тем, чтобы не поддерживать старый код с этим ограничением.
А КДПВ вообще для Python2, который, по идее, уже точно 2 года как не поддерживается...
Заканчивается поддержка Python 3.6