pipreqs – инструмент для генерации requirements.txt из импортов в исходном коде. Сейчас занимаюсь разделением одного большого проекта на несколько поменьше (об этом, в числе прочего, мой доклад на предстоящем PiterPy Meetup), и pipreqs пришёлся очень даже кстати. Он даже сам проставляет последнюю доступную версию для каждого пакета. Но рекомендую после него всё проверить, это не Go, тут много сюрпризов. Например, название пакета при импорте в PyPI может различаться, и pipreqs разруливает это через захардкоренный mapping. Выглядит жутко, но это хоть какое-то решение. Например, isort, про который я писал вчера, до сих пор из-за этого не умеет читать requirements.txt. Хочу на досуге форкнуть и интегрировать это, чтобы можно было запускать его без запуска окружения.