@MasterCopipaster

Как удалить пакеты которые не используются в проекте из виртуального окружения?

Доброе время суток, подскажите пожалуйста столкнулся с такой проблемой.
Когда отдаю проект админам я все используемые пакеты в venv записываю в requirements.txt
Они там накатывают проект используя pip3 install -r requirements.txt
В чем суть вопроса: в ходе разработки приложения, я устанавливаю какой то пакет что то пробую, иногда что то не получается или другой пакет для решения данной задачи подходит лучше. И часто разработчики забывают удалять этот пакет. Он остается в зависимостях в venv и соответственно попадает в requirements.txt. Админы накатывают этот пакет хотя реально он там и не используется.

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

Тут наверное нужна какая то штука которая бы анализировала импорты в файлах проекта.
Но что то такова я не нашел...
  • Вопрос задан
  • 870 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Потому что надёжного метода анализа зависимостей нет.
Импорты в питоне могут быть условными, выполняться в разное время, или вообще выполняться динамически через importlib.
Я бы сказал, вспомнить, какие пакеты тебе требуются, очистить окружение, поставить их, погонять приложение и пособирать недостающее.

А на будущее - когда тестируешь пакет, делай отдельную ветку в системе управления версиями, и отдельное окружение. Только когда пакет устоялся, делаешь merge.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы