TGViewer
DevFM DevFM @devfm · 3.05K subscribers
Post #129 938
Фиксация зависимостей и вендоринг

Зачастую в файле с зависимостями проекта можно увидеть следующее:
requests>=2.28.1

Установится requests самой свежей версией выше указанной. Безобидный значок >= может повлечь множество неприятностей, и есть шанс после очередного обновления словить:
— калечащие изменения из-за отсутствия обратной совместимости
— новые баги используемой библиотеки
— и даже злонамеренные изменения в коде

Поэтому всегда фиксируйте зависимости путём использования == вместо >=. Применяйте это правило не только к requirements. Например, в докер-файле не используйте тег latest и всегда указывайте конкретную версию образа. В статье A developer sabotaged their own libraries (businessinsider, 2022) показаны последствия нежелания фиксировать версии зависимостей.

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

Следующий уровень паранойи — вендоринг. В дополнение к фиксированию версии вы также храните её в своём локальном репозитории. Кстати, в качестве универсального хранилища любых зависимостей можем порекомендовать self-hosted решение nexus (docker, apt, pip и многое другое).

Это выглядит избыточным, но продуктовая разработка с живыми пользователями заставляет смотреть на подобные рекомендации иначе. Прочитайте Protestware on the rise (techcrunch, 2022) об удалении популярного пакета из pypi.

На каком уровне паранойи остановиться — решать вам.

#python
Business Insider A developer sabotaged their own open-source libraries, breaking thousands of apps, in apparent protest of mega-corporations The two code libraries have been downloaded millions of times and have thousands of software projects depending on them.
  • 👍 8
  • 🔥 3
  • ❤ 1
More from @devfm
  1. Sep 30, 2026Когда агенту нужен браузер Словил удивительное поведение в Codex: при работе с браузером п…
  2. Sep 27, 2026Багфикс по расписанию AI врывается в разные этапы SDLC. Сейчас экспериментирую с автоматиз…
  3. Sep 25, 2026Попробуйте Herdr По долгу службы я использую самые разные инструменты и какое-то время экс…
  4. Sep 19, 2026ММММолния! В последнем обновлении Claude Code добавили поддержку AGENTS.md! Это настоящий…
  5. Sep 17, 2026Код пишется быстро, а што с ревью Я как-то уже бухтел на тему код-ревью. Но мир так быстро…
  6. Sep 15, 2026Не пишите аислопный текст, пожалуйста-препожалуйста. Код супер активно пишется агентами и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →