Порой в чужом проекте вам хочется выделить все использованые пакеты в requirements.txt, ибо до вас этого никто не сделал. Но как узнать список того что было использовано?
grep -Rhs import . | awk '{print $2;}' | sort | uniq
:)
Ну и вариант для совсем упоротых типа меня.
grep -Rhs import . | awk '{print $2;}' | sort | uniq | xargs -I{} sh -c 'python -c "list(__import__(x) for x in filter(None, map(str.strip, '"'"'{}'"'"'.split('"'"','"'"'))))" 2>/dev/null || echo {}'
Последний вариант пытается импортировать все что находит и выводит строчку если не удалось импортировать. Разбивает по "," строчки, стрипит и фильтрует, чтобы фальш ошибок не было при импорте, все как надо :)
Общий gist :)