Найти в Дзене
IT Start | Python

Работа с requirements.txt в Python

При работе с Python-проектами часто требуется устанавливать сторонние библиотеки. Чтобы упростить этот процесс и сделать его воспроизводимым, используется файл requirements.txt. Он содержит список зависимостей, необходимых для работы проекта. В этой статье мы научимся работать работать с ним. Для создания файла со списком установленных библиотек, используется команда: pip freeze > requirements.txt Эта команда сохранит все установленные в среде пакеты в файл requirements.txt. Для установки всех зависимостей, перечисленных в файле, используется команда: pip install -r requirements.txt Она установит все библиотеки, указанные в файле requirements.txt, с соответствующими версиями. Файл requirements.txt содержит названия пакетов и их версии. Например: numpy==1.21.0
pandas>=1.3.0
requests В файле requirements.txt можно добавлять комментарии, начиная строку с #: # Основные зависимости
numpy==1.21.0
pandas>=1.3.0 # Библиотеки для тестирования
pytest Также можно разбивать зависимости на нес
Оглавление

Введение

При работе с Python-проектами часто требуется устанавливать сторонние библиотеки. Чтобы упростить этот процесс и сделать его воспроизводимым, используется файл requirements.txt. Он содержит список зависимостей, необходимых для работы проекта. В этой статье мы научимся работать работать с ним.

Создание requirements.txt

Для создания файла со списком установленных библиотек, используется команда:

pip freeze > requirements.txt

Эта команда сохранит все установленные в среде пакеты в файл requirements.txt.

Установка зависимостей из requirements.txt

Для установки всех зависимостей, перечисленных в файле, используется команда:

pip install -r requirements.txt

Она установит все библиотеки, указанные в файле requirements.txt, с соответствующими версиями.

Формат файла requirements.txt

Файл requirements.txt содержит названия пакетов и их версии. Например:

numpy==1.21.0
pandas>=1.3.0
requests

  • numpy==1.21.0 – строгая версия.
  • pandas>=1.3.0 – версия не ниже указанной.
  • requests – без указания версии (установится последняя доступная).

Комментарии и разбиение на файлы

В файле requirements.txt можно добавлять комментарии, начиная строку с #:

# Основные зависимости
numpy==1.21.0
pandas>=1.3.0

# Библиотеки для тестирования
pytest

Также можно разбивать зависимости на несколько файлов и подключать их через -r:

# В файле requirements.txt
-r base.txt
-r dev.txt

Это позволяет отделить основные зависимости от зависимостей для разработки.

Файл constraints.txt

В дополнение к requirements.txt можно использовать constrains.txt, чтобы ограничивать версии зависимостей без явного указания их в requirements.txt.

Пример использования:

pip install -r requirements.txt -c constraints.txt

Пример содержимого requirements.txt:

numpy==1.21.0
pandas<=1.3.5

В данном примере это обеспечит установку numpy строго версии 1.21.0 и pandas версии не выше 1.3.5.

Разделение зависимостей по окружению

В проектах можно использовать разные файлы зависимостей для различных целей:

  • requirements-dev.txt – для разработки
  • requirements-prod.txt – для продакшена
  • requirements-test.txt – для тестирования

Пример установки зависимостей для разработки:

pip install -r requirements-dev.txt

Обновление зависимостей

Чтобы обновить зависимости до последних версий, используется:

pip install --upgrade -r requirements.txt

Работа с виртуальным окружением

Рекомендуется использовать виртуальное окружение, чтобы изолировать зависимости проекта:

python -m venv venv
source venv/bin/activate # для macOS/Linux
venv\Scripts\activate # для Windows
pip install -r requirements.txt

Заключение

В ходе статьи мы с Вами научились работать с файлом requirements.txt в Python! Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Мой Telegram канал

Мой YouTube канал

Курс по созданию телеграм-ботов на Python с фреймворком Aiogram

Мой курс по Python (50 видоуроков + дополнительные уроки)

Курс по созданию GUI на Python