@MasterCopipaster

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Гринатом Москва
от 150 000 ₽
DIGITAL SECTOR Краснодар
от 150 000 до 250 000 ₽
14 июл. 2024, в 10:02
10000 руб./за проект
14 июл. 2024, в 09:50
10000 руб./за проект