Ответ
Стандартный способ зафиксировать зависимости Python-проекта — использовать файл requirements.txt. Это позволяет создавать воспроизводимые окружения на других машинах или в CI/CD.
Процесс состоит из двух шагов:
1. Фиксация зависимостей (создание файла)
Чтобы сохранить все пакеты, установленные в вашем текущем виртуальном окружении, и их точные версии, выполните команду:
pip freeze > requirements.txt
Эта команда создаст файл requirements.txt в текущей директории.
Пример содержимого requirements.txt:
Django==4.2.7
psycopg2-binary==2.9.9
requests==2.31.0
2. Установка зависимостей из файла
Чтобы установить все пакеты, перечисленные в файле, на другой машине или в новом окружении, используется команда:
pip install -r requirements.txt
Лучшие практики:
-
Используйте виртуальные окружения (
venv). Это ключевой инструмент для изоляции зависимостей каждого проекта и избежания конфликтов версий. Всегда активируйте окружение перед работой сpip.# Создание окружения python -m venv .venv # Активация (Linux/macOS) source .venv/bin/activate -
Разделяйте зависимости. Для больших проектов часто создают несколько файлов:
requirements.txtдля продакшена иdev-requirements.txtдля инструментов разработки (например,pytest,black,flake8). -
Рассмотрите
pip-tools. Для более продвинутого управления зависимостямиpip-toolsпозволяет поддерживать файлrequirements.inс основными зависимостями, аrequirements.txtгенерировать автоматически, включая все вложенные зависимости.