Python: как обнаружить неиспользуемые пакеты и удалить их

Я использую pip freeze > requirements.txt для сбора всех установленных пакетов. Но после многих дней разработки некоторые пакеты теперь не используются. Как я могу найти эти неиспользуемые пакеты и удалить их, чтобы сделать мой проект более понятным?


person user2492364    schedule 12.04.2016    source источник
comment
это или это отвечает на ваш вопрос?   -  person Matt C    schedule 12.04.2016
comment
Отвечает ли это на ваш вопрос? Удалить неиспользуемые пакеты из файла требований   -  person A Jar of Clay    schedule 06.04.2020


Ответы (3)


Внутри Pycharm Перейдите в раздел code > inspect code. Выберите вариант Весь проект и нажмите OK.

На панели результатов проверки найдите раздел «Требования к пакету» в разделе «Python» (обратите внимание, что этот раздел будет отображаться только в том случае, если имеется какой-либо файл requirements.txt или setup.py). Раздел будет содержать одно из следующих сообщений:

  • Требование к пакету '' не выполняется, если есть какой-либо пакет, указанный в файле requirements.txt, но не используемый ни в одном файле .py.

  • Пакет '' не указан в требованиях проекта, если есть какой-либо пакет, который используется в файлах .py, но не указан в требованиях.txt.

У вас есть все необходимые пакеты, удаляющие/добавляющие их соответственно.

person MrSoloDolo    schedule 15.06.2020


Сомневаюсь, что это можно сделать полностью автоматически. «Неиспользуемые пакеты» — очень двусмысленное утверждение: неиспользуемые кем? Единственный способ для системной утилиты выяснить, используется ли пакет где-то или нет, — это проанализировать каждый скрипт Python, установленный где-либо в системе; довольно непрактичное решение. Итак, что вы можете сделать, так это просмотреть каждый созданный вами скрипт и модуль Python; найдите, что импортируется, а затем, если у вас есть два разных файла requirements.txt до установки пакетов и один после, возможно, удастся выяснить, какие из них вы можете удалить, не нарушая ничего. Я не рекомендую это, хотя. Гораздо лучше использовать виртуальные среды, но вы должны это до того, как вы начнете разрабатывать и устанавливать новые пакеты.

person Cyb3rFly3r    schedule 12.04.2016