Как стать автором
Обновить

Комментарии 62

Спасибо за обзор! Забыли еще добавить:
  • PEP 614 позволяет в качестве декораторов использовать любое выражение
  • новый модуль graphlib для манипуляции с графами, в частности, топологической сортировки
  • принудительная генерация OpenSSL хешей в hashlib при помощи деактивации встроенных алгоритмов
Спасибо, обновил. Еще добавил информацию о изменениях в математическом модуле.
Где это можно посмотреть? В информации к выпуску не увидел. Доступна только информация по Windows XP. (Python 3.5+)
www.python.org/downloads/release/python-390
This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.
Спасибо, добавил в статью.
Коллеги, простите за возможно глупый вопрос, это я что, не смогу таскать dll нового питона со своим приложением в целях выполнения скриптов на XP, Win7? Или там только инсталлятор? Сам интерпретатор будет работать?
Python 3.9 is incompatible with this unsupported version of Windows.

я думаю тут ответ
Спасибо, думал вдруг какая-то ошибка.
лирика
Грусть печаль, месяца три изучаю с целью сменить язык бизнес-логики у своего (не маленького) b2b проекта, а тут такое здрасьте. Win7 у клиентов как грязи. И так на старом говне всё ворочается, так хотелось свежего воздуха, а тут такое. Даже последние джедайские технологии тоже говорят что сиди, мол, на старом. Да что ж такое… Напьюсь сегодня с горя.

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

Спасибо. Подумав, отринул алкоголь)

Недавно обнаружил в просторах гитхаба проект порта python 3.9.6 на Windows 7: https://github.com/NulAsh/cpython

Форкнутая версия периодически обновляется. Может, кому-то будет полезно.

В readme позабавило: "Thanks to developers of wine, I used some of their code to emulate functions absent in Windows 7."

Отличный подарок к нг. Спасибо!

А вам непременно нужен функционал 3.9?

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

В таком случае остаётся только переходить на новые ОС. Авторы Питона прекращают поддержку старых ОС не по злобе, а потому что они тоже хотят писать на развивающихся ЯП (Си и С++), компиляторы к которым в новых версиях точно так же поддержку старых ОС прекращают...

компиляторы к которым в новых версиях точно так же поддержку старых ОС прекращают...

пруфы, предъявите, пожалуйста. Вообще картинка грустная получается. Потому что в корпоративной и промышленной среде W7 еще долго будет (хотя бы даже в виде embedded вариантов). Вот она — обратная сторона "ускорения" (туда же — весь девопс и эджайл).


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

И много сейчас современных, поддерживаемых компиляторов и сред выполнения поддерживают тот же DOS 6.22 или ядра линукса первых версий?

Никто не будет поддерживать технологии, которыми подавляющее большинство не пользуется уже десяток лет.
Атака детектед!!! Алярм!
Вы зачем-то утрируете, приписываете мне переживания за DOS 6.22 и сразу же с блеском «утираете нос» какой-то очевидностью)))

Я что, за DOS переживаю? разговор конкретно о Win7. А её как грязи у того бизнеса который я автоматизирую. Да и вообще по стране-матушке (если вы не в курсе — то вот, знайте )))

Да не о чем тут спорить, Win7 тоже уйдёт, железки новые уже с десяткой, а у меня не что-то на передке науки что бы за версию питона переживать, в самом деле. Я от новости просто слегка насторожился.
Ну так и пользуйтесь последней стабильной версией, которая у вас идёт. У меня уже много лет как один скрипт на XP крутится версии 3.4 и ничего. Нет какого-то смысла обновлять.
Что такое «распаковка диктовки»?
Должно быть «распаковка словарей»
Спасибо! Очень полезные нововведения.

В статье опечатка
>>graph = {'E': {'C', 'F'}, 'D': {'B', 'C'}, 'B': {'A'}, 'A': {'F'}}
>>ts = TopologicalSorter (граф)
граф должен быть не по-русски тут
Благодарю, поправил. Примеры по новой библиотеке смотрел в разных источниках и документации.
В примере опечатка, поправил, чекнул и не понял как картинка в статье связана с выводом.
Вот этот же граф и он же отсортированный. Но это все равно не объясняет что такое топологическая сортировка и зачем она нужна=(
image
image

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

Спасибо, дошло. Так как сортировка не детерминированная, то в статье просто еще один ее вариант нарисованный справа налево.
Интересно то, что в результате вы получаете список отсортированный не так как в примере.
Библиотека с какой-то вероятностью может выдавать два ответа:
"['C', 'F', 'E', 'A', 'B', 'D']"
"['F', 'C', 'A', 'E', 'B', 'D']"
Оба ответа не являются ошибкой, они верны.
По теме сортировки — ведь в теории возможен вариант ['F', 'C', 'A', 'B', 'D', 'E']?

Да, это тоже корректный топологический порядок.

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

Простите, что вы сделали?

Чекнул == проверил

Впервые такое вижу. Это на каком языке?
От английского check.
Вы с какой планеты?
Это уже почти на Русском
От английского check.

Блин, я думал это какой-то термин, которому нет прямого аналога в русском языке и обязательно требуется заимствование (навроде «компиляции», «обфускации» и т.д.) Подумал, что появился еще какой-то хитрый процесс, который можно сделать с кодом программы.
Вы с какой планеты?

Третьей от Солнца.
Это уже почти на Русском

В каком это смысле «почти на русском»? На русском «проверил» это «проверил», никакого «чекнул» и близко нет.
В каком это смысле «почти на русском»?

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

В прямом. Это слово легко выговаривается и звучит как будто русское.
Но в русском языке уже есть слово «чек», и оно означает совсем другое. Непосвящённые могут подумать, что речь идёт о выписке чека. Ну или об установке галочки в чек-бокс. Ну или вообще не поймут. А для «проверить» есть слово «проверить», простое и абсолютно однозначное.

Осталось понять как в комментарии выше можно принять слово "чекнул" за "выписал чек" :-)

Ну вот я его и не принял за «выписал чек», а просто не понял. О чём и речь. Совершенно непонятно, зачем тащить в язык слова, простые аналоги которых в нём и так есть и понятны всем и каждому. В результате получится сплошное «вам чиз одним писом или послайсить?»
Слово «чек» произошло от французского «chèque», на русском это «платёжка». А так как «В конце XX века английский язык утвердился как важнейший международный язык», сменив французский с пьедестала, то в нашем веке «чекнуть — посмотреть» имеет бОльшую силу, чем «чекнуть — выписать чек».
нашем веке «чекнуть — посмотреть» имеет бОльшую силу, чем «чекнуть — выписать чек».

«Сила» определяется не тем, из какого языка пришло, а ситуацией в языке-приёмнике. В русском уже есть «чек», и у него есть значение, нравится это кому-то, или нет. Охота говорить на английском — говорите на английском. Русский оставьте в покое.

image


Ещё можно обсудить, какого рода слово 'кофе' и почему считать его ср.р. — неправильно (нет).

какого рода слово 'кофе' и почему считать его ср.р. — неправильно (нет).

на самом деле — да, надо срочно откатиться на дореволюционную орфографию ) Долой необоснованное упрощение языка! Мы же не гоблины какие-то!

Под моими постами уже традиция подобные диалоги затевать.)
image
Я не могу вас не поддержать. Сам страдаю «языковым пуризмом». Видимо, из-за моего первого, филологического образования (а может, это врожденное). Везде, где только могу, стараюсь прививать бережное отношение к языку. В последнее время я чувствую себя часто, как на этом «важном совещании».
Ну или об установке галочки в чек-бокс.

да, кстати, чекнул = "поставил галочку в чек-боксе"

Да там много интересного. Гугл-переводчик выдаёт для слова «check» больше 40 вариантов перевода. В том числе такие, как:
передергивать (собенно хорошо)
объявлять шах
обставлять
делать выговор
давать нагоняй

Очень перспективное для заимствования слово.
Я бы еще добавил, что Python перешел на стабильные годовые циклы выпуска, см. PEP 602.

Каждая новая версия Python теперь будет выходить в октябре. Python 3.10 выйдет в октябре 2021, Python 3.11 в октябре 2022. А каждые два месяца будет выходить бакфикс. Для меня это великолепная новость, теперь можно четко планировать upgrade python окружения.
Совсем вылетело из головы, я уже это воспринимал как данность и что все об этом знают.)
Спасибо, добавлю в начало.

А вот подскажите, специалисты по питону, я запускаю, скажем, youtube_dl, он после запуска тупит 1-2 секунды, и потом начинает работать (что-то пишет в консоль, качать начинает и т.д.). И так каждый запуск. Вот это уже поправили в этом новомодном питоне, или воз и нынче там?

А почему вы думаете, что проблема в Питоне, а не в youtube_dl или вовсе в вашей сетевой инфраструктуре?


Вообще, по симптомам похоже либо на проблему с DNS, либо на проблему с IPv6. Ах да, ещё могут тормозить автоопределение HTTP прокси, проверка CRL, антивирус и винда.

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


антивирус и винда

К счастью, нет ни того, ни другого.


И всё же если есть подозрение, что это локальные проблемы — как их отследить?

Можно взять профайлер для питона (например, github.com/emeryberger/scalene) и посмотреть, на что питон тратит время. Возможно, там тяжелый импорт какого-то кода — поэтому проявляется каждый запуск.
Немного странно спрашивать о проблеме быстродействия конкретной программы в треде о ЯП, вы не находите?
я не специалист, но в файле YoutubeDL.py около сотни строк импортов и в папке с программой сотни пайтон скриптов. похоже, проблема в том, что программа гораздо объёмнее, чем от неё ожидаешь. никто не винит язык программирования в долгой загрузке какого-нибудь условного фотошопа.
«Новый» синтаксический парсер должен был быть производительнее, но судя по табличке не смог.
Вероятно, задел на долгосрочную перспективу.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории