Фиксация зависимостей с помощью requirements.txt
Зафиксируйте точные версии, чтобы установка всегда выполнялась предсказуемо
«Фиксация зависимостей с помощью requirements.txt» — бесплатный урок MLOps Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MLOps Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MLOps Academy содержит 4 уроков всего.
Зачем фиксировать версии?
Ваш код вызывает библиотеки, а библиотеки меняются. Фиксация версий означает запись точных версий, чтобы сегодняшняя установка совпадала с завтрашней. 📌
Файл со списком зависимостей
В Python обычный текстовый файл с именем requirements.txt содержит список всех пакетов, необходимых проекту, по одному в строке. Это инструкция по установке.
scikit-learn
pandas
numpyСвободные версии создают проблемы
Простое имя вроде pandas устанавливает самую новую версию, которая завтра может оказаться другой. Из-за такого незаметного изменения работающая модель внезапно перестаёт работать.
Зафиксируйте точную версию
Используйте оператор ==, чтобы зафиксировать точную версию. Теперь каждая машина будет каждый раз устанавливать один и тот же код.
scikit-learn==1.4.2
pandas==2.2.1
numpy==1.26.4Зафиксируйте текущие пакеты
Команда pip freeze выводит каждый установленный пакет с его точной версией — результат можно сразу вставить в файл.
pip freeze > requirements.txtУстановите зависимости из файла
Передайте файл pip, и он восстановит всю настройку окружения. Флаг -r означает: прочитать зависимости из этого файла.
pip install -r requirements.txtДиапазоны совместимых выпусков
Оператор ~= разрешает безопасные обновления исправлений, но блокирует несовместимые изменения. Он принимает версии 1.4.x, но никогда не переходит на 1.5.
scikit-learn~=1.4.0Транзитивные зависимости
Пакеты, которые вы указали, также подтягивают собственные зависимости. Эти скрытые зависимости могут изменить версии и так же легко нарушить работу.
Зафиксируйте всё дерево зависимостей
Файл блокировки записывает точную версию каждого пакета, включая скрытые транзитивные зависимости. pip-tools и Poetry создают такие файлы за вас.
pip-compile requirements.inПроверяйте с помощью хешей
Добавление хеша заставляет pip отклонять пакет, байты которого не совпадают. Это защищает от изменённых или подменённых загрузок.
numpy==1.26.4 --hash=sha256:abc123...Добавьте файл в Git
Добавьте requirements.txt в систему управления версиями рядом с кодом. Теперь точное окружение будет поставляться вместе с каждым изменением и проверкой.
Быстрая проверка
Какая строка гарантирует одинаковую версию scikit-learn на каждой машине?
Итоги
Вы научились фиксировать точные версии в requirements.txt, сохранять и переустанавливать их, а также блокировать всё дерево зависимостей, чтобы установки оставались воспроизводимыми. 🎯
Изучай Python с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Фиксация зависимостей с помощью requirements.txt» бесплатный?
Да — полный текст урока «Фиксация зависимостей с помощью requirements.txt» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MLOps Academy, подпишись на CoddyKit PRO. Курс MLOps Academy содержит 4 уроков всего.
Чему я научусь в уроке «Фиксация зависимостей с помощью requirements.txt»?
Зафиксируйте точные версии, чтобы установка всегда выполнялась предсказуемо Ты практикуешь MLOps Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать MLOps Academy?
Предыдущий опыт не требуется. MLOps Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Фиксация зависимостей с помощью requirements.txt»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке MLOps Academy?
Да. Каждый урок MLOps Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Фиксация зависимостей с помощью requirements.txt
- Изоляция проектов с помощью виртуальных окружений
- Фиксация случайности для воспроизводимых запусков
- Сохранение полной конфигурации запуска