uk
Feedback
Пятничный деплой

Пятничный деплой

Відкрити в Telegram

Подборка ссылок, статей и постов из мира DevOps\SRE\разработки. Если вы хотите прислать фидбек, интересную статью или просто поболтать пишите @count0ru https://t.me/s/count0_digest

Показати більше
4 739
Підписники
+324 години
+17 днів
+2030 день

Триває завантаження даних...

Залучення підписників
липень '26
липень '26
+39
в 0 каналах
червень '26
+78
в 0 каналах
Get PRO
травень '26
+86
в 0 каналах
Get PRO
квітень '26
+114
в 0 каналах
Get PRO
березень '26
+127
в 8 каналах
Get PRO
лютий '26
+67
в 0 каналах
Get PRO
січень '26
+46
в 0 каналах
Get PRO
грудень '25
+46
в 0 каналах
Get PRO
листопад '25
+56
в 1 каналах
Get PRO
жовтень '25
+49
в 0 каналах
Get PRO
вересень '25
+44
в 1 каналах
Get PRO
серпень '25
+55
в 0 каналах
Get PRO
липень '25
+58
в 0 каналах
Get PRO
червень '25
+53
в 0 каналах
Get PRO
травень '25
+48
в 0 каналах
Get PRO
квітень '25
+62
в 1 каналах
Get PRO
березень '25
+82
в 0 каналах
Get PRO
лютий '25
+50
в 0 каналах
Get PRO
січень '25
+88
в 1 каналах
Get PRO
грудень '24
+82
в 0 каналах
Get PRO
листопад '24
+126
в 4 каналах
Get PRO
жовтень '24
+110
в 1 каналах
Get PRO
вересень '24
+74
в 0 каналах
Get PRO
серпень '24
+73
в 0 каналах
Get PRO
липень '24
+87
в 0 каналах
Get PRO
червень '24
+87
в 1 каналах
Get PRO
травень '24
+94
в 0 каналах
Get PRO
квітень '24
+112
в 0 каналах
Get PRO
березень '24
+113
в 0 каналах
Get PRO
лютий '24
+106
в 1 каналах
Get PRO
січень '24
+131
в 0 каналах
Get PRO
грудень '23
+101
в 1 каналах
Get PRO
листопад '23
+177
в 1 каналах
Get PRO
жовтень '23
+21
в 0 каналах
Get PRO
вересень '23
+45
в 0 каналах
Get PRO
серпень '23
+42
в 0 каналах
Get PRO
липень '23
+50
в 0 каналах
Get PRO
червень '23
+44
в 0 каналах
Get PRO
травень '23
+32
в 0 каналах
Get PRO
квітень '23
+24
в 0 каналах
Get PRO
березень '23
+32
в 0 каналах
Get PRO
лютий '23
+29
в 0 каналах
Get PRO
січень '23
+27
в 0 каналах
Get PRO
грудень '22
+31
в 0 каналах
Get PRO
листопад '22
+30
в 0 каналах
Get PRO
жовтень '22
+32
в 0 каналах
Get PRO
вересень '22
+42
в 0 каналах
Get PRO
серпень '22
+53
в 0 каналах
Get PRO
липень '22
+39
в 0 каналах
Get PRO
червень '22
+46
в 0 каналах
Get PRO
травень '22
+37
в 0 каналах
Get PRO
квітень '22
+35
в 0 каналах
Get PRO
березень '22
+24
в 0 каналах
Get PRO
лютий '22
+32
в 0 каналах
Get PRO
січень '22
+55
в 0 каналах
Get PRO
грудень '21
+55
в 0 каналах
Get PRO
листопад '21
+71
в 0 каналах
Get PRO
жовтень '21
+59
в 0 каналах
Get PRO
вересень '21
+71
в 0 каналах
Get PRO
серпень '21
+75
в 0 каналах
Get PRO
липень '21
+44
в 0 каналах
Get PRO
червень '21
+78
в 0 каналах
Get PRO
травень '21
+32
в 0 каналах
Get PRO
квітень '21
+91
в 0 каналах
Get PRO
березень '21
+66
в 0 каналах
Get PRO
лютий '21
+82
в 0 каналах
Get PRO
січень '21
+67
в 0 каналах
Get PRO
грудень '20
+2 821
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
22 липня+1
21 липня+4
20 липня0
19 липня0
18 липня+1
17 липня+1
16 липня0
15 липня+4
14 липня+4
13 липня+1
12 липня+1
11 липня0
10 липня+3
09 липня+2
08 липня+3
07 липня+4
06 липня+2
05 липня0
04 липня+2
03 липня0
02 липня+1
01 липня+5
Дописи каналу
Repost from AWS Notes
 Вышел релиз 0.33.1 SRE Learning Platform - крупнейшее обновление по Istio за всю историю проекта: полноценный курс для самостоятельного изучения + 4 новые практические лабы. Если готовитесь к экзамену ICA или эксплуатируете Istio в проде - это для вас - НОВОЕ: - курс по Istio для самостоятельного изучения 32 главы, разбитые на две части: • Часть 1 - подготовка к экзамену ICA • Часть 2 - лучшие практики для прода Каждая глава связана с практической лабой - учитесь на деле, а не только на теории. Изучать можно как на русском, так и на английском - 4 новые лабы по Istio: • Лаба 32 - gRPC: балансировка нагрузки по запросам, именование портов, ретраи и таймауты • Лаба 33 - производительность и эксплуатация control plane: discovery selectors, Sidecar scope, golden signals istiod, OPA Gatekeeper • Лаба 34 - защита и модель угроз: STRICT mTLS, default-deny, контроль egress, RBAC для Istio CRD, NetworkPolicy • Лаба 35 - мультикластерный mesh: multi-primary, multi-network, общий CA, east-west gateway, межкластерный discovery ⚙️ Улучшения: • ping_pong теперь работает по gRPC (Echo + Health + reflection) со встроенным gRPC-клиентом / генератором нагрузки • Debug-образы ставят kubectl-k8i через krew с автодополнением в shell; scratch/alpine-образы теперь кросс-компилируются нативно (BuildKit BUILDPLATFORM), а не под QEMU Платформа бесплатная и с открытым исходным кодом. Ставьте звезду, форкайте и учитесь ⭐️ https://github.com/ViktorUJ/cks Отличного настроения и пусть ваш прод живёт без падений! #Istio #ServiceMesh #Kubernetes #SRE #DevOps #CloudNative #ICA #gRPC

2
⚡️ Linux может читать сетевые пакеты почти напрямую В Linux можно открыть raw socket и увидеть пакеты, которые приходят на се
⚡️ Linux может читать сетевые пакеты почти напрямую В Linux можно открыть raw socket и увидеть пакеты, которые приходят на сетевую карту. Без Wireshark. Без libpcap. Без лишних инструментов. Пример из скрина делает простую вещь: 1. создаёт socket уровня AF_PACKET 2. просит у ядра все Ethernet-пакеты через ETH_P_ALL 3. в бесконечном цикле читает их через recvfrom 4. печатает размер каждого пакета То есть программа буквально говорит ядру: “Отдавай мне всё, что видит сетевой интерфейс.” И Linux отдаёт. Почему это круто? Потому что так становится понятно, что Wireshark - это не магия. Он тоже получает низкоуровневый трафик от системы, просто красиво его разбирает и показывает. Обычно разработчик работает с сетью на высоком уровне: HTTP → TCP → socket А raw socket позволяет спуститься ниже: Ethernet frame → IP packet → TCP/UDP → payload На таком уровне видно, что реально летит по сети: заголовки, размеры пакетов, служебные данные и весь сырой трафик. Это один из тех примеров, после которых Linux networking перестаёт быть чёрным ящиком.
930
3
New Conversion from cgroup v1 CPU Shares to v2 CPU Weight I'm excited to announce the implementation of an improved conversion formula from cgroup v1 CPU shares to cgroup v2 CPU weight. This enhancement addresses critical issues with CPU priority allocation for Kubernetes workloads when running on systems with cgroup v2. https://kubernetes.io/blog/2026/01/30/new-cgroup-v1-to-v2-cpu-conversion-formula
1 021
4
😒 Официальная библиотека промптов для Claude от Anthropic Разработчики из Anthropic обновили и структурировали масштабный ха
😒 Официальная библиотека промптов для Claude от Anthropic Разработчики из Anthropic обновили и структурировали масштабный хаб готовых запросов для своей языковой модели. База создана для того, чтобы пользователи могли выжать максимум из Claude при решении прикладных и технических задач, не тратя время на самостоятельный подбор формулировок. ⚡️Внутри собраны сотни шаблонов под самые разные сценарии: 🟦Для безопасности: готовые конструкции для проверки кода на уязвимости и анализа граничных условий работы алгоритмов. 🟦Для разработчиков: шаблоны для глубокого ревью кода, автоматического поиска багов, рефакторинга, написания юнит-тестов и проектирования архитектуры. 🟦Для автоматизации и менеджмента: промпты под стратегическое планирование, парсинг неструктурированных данных, генерацию технической документации и выстраивание логики для ИИ-агентов. Каждый шаблон снабжен подробным разбором: авторы пошагово объясняют, почему выбрана именно такая структура запроса, как модель интерпретирует переменные и как правильно передавать контекст. Поскольку библиотека официальная, все промпты оптимизированы под особенности контекстного окна и логику мышления последних моделей семейства Claude. ❤️‍🩹Сохраняйте в закладки и внедряйте в свои рабочие процессы. Нейросети отлично автоматизируют рутину и помогают искать уязвимости, но управлять ими может только тот, кто понимает саму базу и суть киберугроз. Если вы хотите заложить мощный фундамент начните с нашего бесплатного курса (его прошли уже 1108 человек!). 🟦Разберетесь, как работают кибератаки и как грамотно защитить свои данные. 🟦Познакомитесь с направлениями и профессиями в кибербезопасности, чтобы выбрать свой трек. 🟦Получите скидку, если решите продолжить обучение в CyberYozh Academy. 👉 Начните бесплатно прямо сейчас 🦔 CyberYozh
1
5
«Снова в школу!» – звучит тревожно. Но в магистратуре МИФИ и Школы 21 «Управление внедрением искусственного интеллекта в бизн
«Снова в школу!» – звучит тревожно. Но в магистратуре МИФИ и Школы 21 «Управление внедрением искусственного интеллекта в бизнес» совсем другая атмосфера: тут нет страха ошибки и ощущения, что зря тратишь время. Зато есть рабочая среда, поддержка единомышленников и уверенность, что растёшь. Что внутри программы: — не просто алгоритмы, а живые сценарии – где применить ИИ, чтобы было лучше, быстрее, дешевле; — учим внедрять ИИ для управления продуктом от технического задания до запуска; — делаешь реальные проекты прямо во время учёбы, а не ближе к диплому; — диплом государственного образца МИФИ – одного из ведущих технических университетов страны. Подробности и заявка здесь
1 056
6
AirDrop, но для всех — в сети вспомнили про универсальный способ передачи файлов между Windows, Linux, Android, iOS, macOS и
AirDrop, но для всех — в сети вспомнили про универсальный способ передачи файлов между Windows, Linux, Android, iOS, macOS и другими ОС Сервис называется PairDrop и совершенно не ограничивает пользователя: ➖Скачивать ничего не нужно — никакого дополнительного софта; ➖Просто открываем сайт на обоих устройствах в браузере и начинаем передачу; ➖Если оба устройства используют одну сеть Wi-Fi — они сразу увидят друг друга; ➖Если используете разные сети — нужно 1 раз ввести шестизначный код и образовать пару устройств, а дальше они будут находить друг друга автоматом; ➖Передача файлов идёт напрямую между устройствами; ➖Можно перебрасывать гигабайты инфы без ограничений. Тестим сами: pairdrop.net
1 000
7
Немає тексту...
1 004
8
🗜 Temporary files in Linux - статья, описывающая работу со временными файлами в Linux. Автор рассматривает и работу в tmpfs, и обработку временных файлов через флаг O_TMPFILE на файловой системе... https://blogs.oracle.com/linux/temporary-files-in-linux #tmpfs #напочитать
1 095
9
Почему rsync ≠ гарантия целостности данных. Как я проверяю бэкапы и нахожу расхождения Работа с rsync и многими другими утили
Почему rsync ≠ гарантия целостности данных. Как я проверяю бэкапы и нахожу расхождения Работа с rsync и многими другими утилитами для бэкапирования несёт в себе совершенно не очевидную и от этого особенно недооценённую опасность — риск получить рассинхронизацию содержимого файлов, о которой никто и никогда не узнает до того, пока не станет поздно. Статья задумана как рассказ об очень интересной, но малоизвестной утилите precizer. С её помощью можно контролировать целостность данных при синхронизации, бэкапировании или восстановлении файлов. Программа вполне удобно организована и позволяет убедиться, что ни один байт не был утерян в процессе. Материал разделён на несколько глав, пестрящих избыточными техническими подробностями с целью обосновать, почему было принято именно такое решение, а не иное. @usr_bin_linux
1 227
10
от себя добавлю что сталкивался с таким поведением rsync - он и правда не гарантирует целостность
1 048
11
Новостной дайджест от DevOps FM! 🔔Выходим в эфир с подборкой новостей и практических разборов. ⏺ В блоге Sysdig опубликовали
Новостной дайджест от DevOps FM! 🔔Выходим в эфир с подборкой новостей и практических разборов. ⏺ В блоге Sysdig опубликовали отчёт по безопасности. В июне среди причин инцидентов выделили ошибки конфигурации, свободный доступ к открытым ресурсам в облаке. Также в отчёте разобрали атаки от 8 июня на Tchap с кражей 13,5 ГБ данных, и от 11 июня с выводом 1,3 ТБ данных. В первом случае в открытый доступ попали email-адреса и сведения об организациях более 73 тыс. из 600 тыс. учетных записей. Детали отчёта – здесь. ⏺ В понедельник вышел релиз OpenSSH версии 10.4. Из нового добавили экспериментальную поддержку схемы подписи ML-DSA 44 + Ed25519, включили реализацию на основе NFA и ужесточили требования к протоколу SSH при обмене ключами. Усилили безопасность и устранили уязвимости в ssh(1), sshd(8), scp(1) и sftp(1). Подробнее об улучшениях – тут. ⏺ С релизом Docker Desktop 4.81.0 от 6 июля обновили Docker Compose до версии 5.2.0 и Docker Scout CLI v1.22.0. Также внесли исправления для работы с kind-кластерами, улучшили загрузку образов и устранили проблему с остановкой контейнеров. В новой версии Docker Desktop учитывает заданные таймауты вместо принудительного завершения через 1 секунду. Все изменения – здесь. ⏺ На портале FreeCodeCamp вышла статья о включении политик нулевого доверия в Kubernetes. Дестини Эрхабор подробно разбирает идентификацию рабочих нагрузок через SPIFFE, SPIRE и Cilium. На примере Kind-кластера он показывает, почему традиционные политики безопасности, не работают в динамической среде Kubernetes, а также объясняет, как Cilium реализует аутентификацию (mTLS) без Sidecar. Демо – тут. ⏺На Info Q Мэтт Сондерс разобрал архитектуру HubSpot и рассказал, как компания масштабировала платформу семантического поиска до 20 млрд векторов. Внутренняя платформа Vector as a Service (VaaS) работает поверх Qdrant и обеспечивает контроль доступа, версионирование данных и сбор обратной связи. Сейчас система обслуживает 38+ команд, включает 200+ индексов, 140+ кластеров в пяти регионах и двух окружениях, а пиковая нагрузка достигает 100 тыс. запросов в секунду. Как HubSpot сократил время запуска кластеров с Kubernetes Operator читайте – здесь. #новостная_подборка #devops #kubernetes #openssh #zerotrust
949
12
go tool task #golang Я очень люблю Taskfile и в своих петпроектах не пользуюсь Makefile. Это реально супер удобная замена уро
go tool task #golang Я очень люблю Taskfile и в своих петпроектах не пользуюсь Makefile. Это реально супер удобная замена уродского Makefile, но у старичка есть преймущество - он make есть везде. Но! Теперь для CI стало значительно удобнее использовать Taskfile через go tool task. В статье автор рассказывает как это работает https://kodikapusta.ru/news/980-go-tool-task Поддержать проект на boosty: https://boosty.to/kodikapusta
1 036
13
bhatti #tools bhatti - это открытая платформа для запуска легковесных Linux-виртуальных машин на собственном железе. Каждая м
bhatti #tools bhatti - это открытая платформа для запуска легковесных Linux-виртуальных машин на собственном железе. Каждая машина работает как полноценная ВМ с отдельным ядром через Firecracker, а не контейнер. Умеет снэпшотить полное состояние и автоматически приостанавливать простаивающие машины, освобождая ресурсы. Подходит для изолированных окружений AI-агентов, preview-окружений на PR и любых других сценариев, где нужна полноценная Linux-система по запросу. Устанавливается одной командой на любой Linux с KVM https://kodikapusta.ru/tools/3-bhatti Поддержать проект на boosty и читать в MAX
1 142
14
Большой гайд про диски https://arthurchiao.art/blog/practical-storage-hierarchy/
1 202
15
Зеркало PyPI На нескольких проектах последние несколько дней сталкиваемся с проблемами с доступом к PyPI: как локально, так и в CI. Печально. All attempts to connect to pypi.org failed. Probable Causes: - the server is not responding to requests at the moment - the hostname cannot be resolved by your DNS - your network is not connected to the internet Если у вас есть такая же проблема, можете воспользоваться PyPI зеркалом от GitVerse: https://gitverse.ru/docs/artifactory/registry-mirrors/pypi-mirror?utm_source=tg&utm_medium=fix&utm_campaign=bloggers&utm_content=post&utm_term=nikitasobolev&utm_erid=2VfnxxwjcVp Все пакеты и все версии, которые есть на PyPI - оттуда тоже доступны. Перевел консалтинговые проекты - заработало. Как настроить? pip, документация: # Установка одного пакета: pip install attrs --extra-index-url https://pypi-mirror.gitverse.ru/simple/ # Настройка для всех команд: pip config --user set global.index-url https://pypi-mirror.gitverse.ru/simple/ pip config --user set global.trusted-host pypi-mirror.gitverse.ru Можно настроить как альтернативный, а не главный индекс: вместо global.index-url используйте global.extra-index-url. poetry, документация: # pyproject.toml [[tool.poetry.source]] name = "pypi" priority = "primary" [[tool.poetry.source]] name = "gitverse" url = "https://pypi-mirror.gitverse.ru/simple/" priority = "supplemental" Сначала пробуем pypi, если не вышло - идем в зеркало. Можно повернуть priority в зависимости от ваших задач. uv, документация: # pyproject.toml [[tool.uv.index]] url = "https://pypi.org/simple/" name = "pypi" default = true [[tool.uv.index]] url = "https://pypi-mirror.gitverse.ru/simple/" name = "gitverse" Здесь аналогично, default имеет самый низкий приоритет. Важно: обратите внимание, чтобы при использовании любых зеркал, у вас были корректные хеши пакетов при установке. poetry и uv делают такое по-умолчанию. А вот pip требует явного --require-hashes параметра. Сам pip тем временем не умеет дампить хеши, но pip-tools умеет 🌚 Пример, корректной работы: » uv sync --default-index https://pypi-mirror.gitverse.ru/simple/ Resolved 171 packages in 20ms Checked 102 packages in 13ms Еще есть зеркала для: - DockerHub - NPM - Maven Обсуждение: вас затронула проблема? Реклама. ПАО "СБЕРБАНК", ИНН 7707083893. erid: 2VfnxxwjcVp
1 230
16
mvm #golang #tools mvm - быстрая стековая виртуальная машина для Go, позволяющая запускать программы напрямую из исходников б
mvm #golang #tools mvm - быстрая стековая виртуальная машина для Go, позволяющая запускать программы напрямую из исходников без компиляции. Целиком совместима с Go, поддерживает встраивание в Go/C-приложения, имеет встроенный REPL, отладчик и тестовый движок. Распространяется как единый статический бинарник со стандартной библиотекой внутри https://kodikapusta.ru/tools/1-mvm Поддержать проект на boosty и читать в MAX
1 188
17
Как Codex обнаружил регрессию в Kubernetes 👩‍💻 Начинаем рабочую неделю с фотоотчёта DevOps Lab и рабочего кейса портала Hey
Как Codex обнаружил регрессию в Kubernetes 👩‍💻 Начинаем рабочую неделю с фотоотчёта DevOps Lab и рабочего кейса портала HeyOnCall. После обновления Kubernetes до версии 1.36 Майк Роббинс заметил проблему на небольшом тестовом кластере. kubelet постепенно «съедал» всю память. Поды работали нормально, но pprof обнаружил миллион объектов контекста. Проблема возникла из-за небольшого регресса в коде startPodSync, и при каждом цикле синхронизации создавался новый context.WithCancel(), а старый никогда не освобождался. С Codex Роббинс быстро обнаружил проблемный коммит, подготовил исправление, прошёл ревью и добился включения патча в основную ветку и бэкпорта для релиза 1.36.3. 🔵В статье о том, как найти утечку памяти в kubelet с Go pprof и сократить потребление с 1 ГБ до 110 МБ, почему подобные ошибки сложно поймать на тестировании и какая строка кода может привести к утечке сотен мегабайт памяти на каждой ноде. ➡️А здесь мы оставили фото участников лабы, делимся атмосферой. Отмечайте @DevOps_FM в соц.сетях и расскажите о своих впечатлениях – тут 💙 #kubernetes #devops #kubelet #никсис
1 128
18
Зацените какую штуку тут товарищ написал: https://github.com/crust-gather/crust-gather Она сохраняет стейт Kubernetes кластера в OCI-имадж (со всеми CRD, статусами, ивентами, подами и их логами) Потом его можно запустить локально и в нем покопаться обычным kubectl. Можно клода натравить, можно k9s, и т.п. Идеально подходит чтобы интегрировать в свой пайплайн. Написано на rust'е. Завтра будет рассказывать о ней на KCD https://kcd-czech-slovak-2026.sessionize.com/session/1195463 (есть прямая трансляция)
1 099
19
Редкий Docker-трюк для баз данных: отдельный volume под WAL У Postgres есть место, куда он пишет журнал изменений: WAL. Если база активно пишет данные, WAL может стать узким местом. В Docker его можно вынести в отдельный volume: services: db: image: postgres:16 environment: POSTGRES_PASSWORD: postgres POSTGRES_INITDB_WALDIR: /var/lib/postgresql/wal volumes: - pg_data:/var/lib/postgresql/data - pg_wal:/var/lib/postgresql/wal volumes: pg_data: pg_wal: Зачем это нужно: 1. данные базы лежат отдельно 2. журнал транзакций лежит отдельно 3. проще мониторить рост WAL 4. меньше риска забить основной volume логами Особенно полезно для staging, pet-проектов с нагрузкой и локальных стендов, где внезапно «почему Postgres сожрал весь диск». Мелочь, но уже уровень не “я просто поднял базу в Docker”, а нормальная инженерная привычка.
1 359
20
PEP 810: Explicit lazy imports 2 Как я уже писал, в Python 3.15 нас ждут lazy imports. В первом посте я описал основные фичи. Прочитайте его перед продолжением. Во втором посте настало время посмотреть на плохие части. Детали PEP, которые мы не осветили прошлый раз Во-первых, из очевидного: lazy import может быть использован только на уровне модуля, в других местах - он будет вызывать ошибку синтаксиса. Но, что забавно, lazy import не может быть использован внутри даже try блоков. Во-вторых, я не уточнил, как будет работать __lazy_modules__, а там дичь. Мы можем указывать __lazy_modules__ = ['os', 'typing'] в любой версии питона. Очевидно, что работать как ленивые они будут только в 3.15+, в остальных - будет просто неиспользуемый атрибут. Но штука в том, что в разных версиях питона библиотеки будут работать по-разному. Но! Он будет ленивым, только если он может быть ленивым. То есть, если он находится внутри класса, функции, try, тд - он не станет ленивым. Удачи в дебаге, короче. Ну и самое забавное, мы можем управлять глобальным стейтом всех импортов через -X lazy_imports=none|normal|all и так же через переменную окружения PYTHON_LAZY_IMPORTS. Что оно значит? Отключаем все lazy импорты | все работает так, как написано | все импорты ленивые. Мы можем управлять тем, как работают импорты через переменную окружения!! Перечитайте, если вы тоже не поняли. Я вот не сразу понял. Внедрение в питон В stdlib питона уже активно используют lazy импорты. Однако, внутри уже появились циклические импорты. Потому что теперь так можно сделать случайно. И специально. Да, ленивые импорты могут помогать избегать циклических импортов. В некоторых режимах работы. Теперь stdlib больше не работает в режиме -X lazy_imports=none. О чем развернулась жаркая дискуссия, прочитать которую я всем советую: https://github.com/python/cpython/issues/149321 Но и режим -X lazy_imports=all все сломал. Теперь с ним некоторые библиотеки начали работать по-другому. Например: $ PYTHON_LAZY_IMPORTS=normal ./python -c "import shutil; print(shutil._BZ2_SUPPORTED)" False $ PYTHON_LAZY_IMPORTS=all ./python -c "import shutil; print(shutil._BZ2_SUPPORTED)" True Так как импорт становится ленивым, он больше не проверяет есть ли на самом деле библиотека _bz2 у вас. А просто всегда возвращает True. Что делать - пока никто не знает: https://github.com/python/cpython/issues/150167 Вот в такой ситуации мы все оказались. Зато теперь некоторые скрипты будут запускаться быстрее, потому что импорты в некоторых местах стали ленивыми. Иногда, не точно. Почему нельзя было использовать импорт внутри функции? Я не знаю. Мое отношение к данной фиче можно только охарактеризовать словами вечного инструмента wemake-python-styleguide: https://github.com/wemake-services/wemake-python-styleguide/issues/3639 Обсуждение: я даже не знаю, честно. Давайте просто обнимемся в комментах. | Поддержать | YouTube | GitHub | Чат |
1 250