Как уже ответил Павел, это делается силами pyinstaller
Желательно работать в виртуальном окружении, что бы не свернуть в exe ненужные библиотеки.
После установки запустите в терминале:
pyinstaller -w -F filename_.py
где:
Готовый exe можно найти в папке dist рядом с py-файлом.
Это самое основное из pyinstaller. Для расширенной настройки посмотрите их doc.