Этот вопрос проверяет знание инструментов, используемых для установки библиотек, фиксации версий и создания виртуальных окружений.
Для управления зависимостями в Python используются инструменты pip, venv, virtualenv, Poetry, Pipenv, а также менеджеры окружений вроде Conda. Каждый инструмент отвечает за свою часть процесса: pip устанавливает пакеты, venv создаёт виртуальное окружение, Poetry управляет зависимостями и фиксирует версии через lock-файл. Выбор инструмента зависит от требований проекта, размера команды и необходимости строгой воспроизводимости.
Работа с зависимостями — это не только установка библиотек, но и обеспечение изоляции окружений, фиксация версий, обнаружение конфликтов и воспроизводимость сборки.
В экосистеме Python существует несколько типов инструментов.
Стандартный пакетный менеджер Python.
Позволяет устанавливать и обновлять библиотеки.
bash
pip install requests
Встроенный инструмент Python для создания виртуального окружения.
bash
python -m venv env
source env/bin/activate
Более функциональная альтернатива venv.
Современный инструмент, который:
устанавливает библиотеки
ведёт lock-файл
управляет виртуальным окружением
может собирать пакеты
bash
poetry add django
Комбинация pip + virtualenv + lock-файл.
Появился как попытка стандарта, но уступил Poetry по популярности.
bash
pipenv install fastapi
Используется в ML, Data Science.
Может устанавливать не только Python-библиотеки, но и системные зависимости.
bash
conda install numpy
pip + venv → простые проекты, обучение
Poetry → современные проекты, микросервисы, продакшен
Pipenv → старые проекты, корпоративные требования
Conda → ML, научные библиотеки, сложные нативные зависимости
Инструменты управления зависимостями решают разные задачи: установка пакетов, изоляция окружений, создание lock-файлов и воспроизводимость сборки. Выбор подходящего инструмента определяет стабильность всего проекта.