requirements.txt
с помощью pip
используйте команду:
pip freeze > requirements.txt
requirements.txt
.
Для создания файла requirements.txt
с помощью pip
существует несколько способов. Самый распространенный и рекомендуемый способ - это использование команды pip freeze
:
pip freeze > requirements.txt
Эта команда собирает список всех установленных в текущем окружении пакетов (включая их версии) и перенаправляет вывод в файл requirements.txt
. Важно отметить, что команда pip freeze
покажет все пакеты, установленные в текущем Python окружении, даже если они не были явно установлены для вашего проекта.
Рекомендации и дополнительные опции:
venv
или virtualenv
). Это гарантирует, что requirements.txt
будет содержать только зависимости, необходимые для вашего конкретного проекта, а не глобальные пакеты. Создать виртуальное окружение можно командами:
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
pip-tools
(pip install pip-tools
). Он позволяет вам иметь два файла: requirements.in
(где вы перечисляете прямые зависимости вашего проекта) и requirements.txt
(сгенерированный на основе requirements.in
, включая все транзитивные зависимости и точные версии).
pip install pip-tools
pip-compile requirements.in # Создаст requirements.txt
pip-sync # Установит зависимости из requirements.txt
requirements.txt
рекомендуется проверить его и удалить все пакеты, которые не являются необходимыми для вашего проекта. Это поможет избежать установки ненужных зависимостей в будущем.
==
). Это особенно важно для production сред. Однако, использование диапазонов версий (например, >=1.0,<2.0
) может быть полезным для получения обновлений безопасности, если вы уверены в обратной совместимости пакетов. pip-tools
по умолчанию замораживает все версии.
В заключение, pip freeze > requirements.txt
- это простой и быстрый способ создать файл зависимостей. Однако, для более сложных проектов, рекомендуется использовать виртуальное окружение и рассмотреть альтернативные инструменты, такие как pip-tools
, для более точного и контролируемого управления зависимостями.