Обновление пакетов в Python-проекте без системы управления зависимостями часто приводит к неожиданным поломкам. Пакет обновляется, тянет за собой другие версии библиотек, и приложение перестает работать. Современные инструменты разделяют понятия "зависимости, которые нам нужны" и "конкретные версии, которые установлены". * Вариант 1 (Poetry): # Команды для работы с зависимостями poetry add requests@latest # Добавление или обновление пакета poetry update # Обновление всех пакетов в рамках ограничений poetry export -f requirements.txt --output requirements.txt # Экспорт для Docker * Вариант 2 (pip-tools): pазделение на прямые и транзитивные зависимости. # update_deps.sh pip-compile requirements.in # Генерация requirements.txt с фиксированными версиями pip-sync requirements.txt # Приведение окружения к состоянию из requirements.txt Фиксация версий через lock-файлы гарантирует, что у всех разработчиков и на сервере будет одинаковый набор библиотек
Управление зависимостями Python: фиксация версий
23 марта23 мар
1 мин