Как создать requirements.txt файл для python программы

Требование наличия в корне файла requirements.txt — достаточно распространенное среди заказчиков. Это и не удивительно — ведь для того чтобы быстро установить все требуемые библиотеки python в новом окружении достаточно выполнить команду pip install -r requirements.txt .

Рассмотрим несколько вариантов.
Вариант первый — вручную. Минусы думаю объяснять не надо, мало того что вы можете ошибиться в названиях и версиях, но также легко и пропустить библиотеку.

Вариант второй — стандартом pip. Выполнив команду pip freeze > requirements.txt вы сразу получите файл в требуемом формате. Если есть уверенность, что у Вас не установлено никаких лишних библиотек — то это самый оптимальный способ. Недостаток этого способа один — в файле будут отображены абсолютно все библиотеки python, уже установленные ранее и никак не относящиеся к текущему проекту.

Вариант третий — использовать дополнительную библиотеку для генерации файла зависимостей. В данном случае надо сразу смотреть на кроссплатформенность, так как не все библиотеки могут работать с windows/unix . Самым распространненым вариантом на данный момент является библиотека pipreqs (установка «pip install pipreqs») . Чтобы сгенерировать файл requirements.txt надо в команде указать просто путь до папки с проектом, т.е. : pipreqs /path/to/project/folder . Если requirements.txt уже есть и необходимо его перезаписать, то используйте флаг —force . Если просто хотите посмотреть на используемые библиотеки без создания, флаг —print.
В конце приведу пример созданного файла:

PyMySQL==0.7.11
pandas==0.19.2
opencv_contrib_python==3.2.0.7
beautifulsoup4==4.6.0
scikit_learn==0.19.0
python_stdnum==1.6