Почему бы не использовать что-то вроде GUI2EXE ?
GUI2Exe - это графический интерфейс пользователя интерфейс ко всем "исполняемым файлам" Builders »доступны для Python язык программирования.Его можно использовать для создания автономной Windows исполняемые файлы, приложения Linux и Пакеты приложений Mac OS и плагины начиная со скриптов Python.
По своему опыту я обнаружил, что для некоторых программ py2exe работает некорректно, а cx_freeze - правильно. не пробовал pyinstaller.
Я попробовал оба варианта для текущего проекта и решил использовать cx_freeze. Он показался мне более легким для начала работы. В нем есть возможность собрать зависимости в zip-архив, что позволяет легко проверить, что все было правильно включено.
У меня были проблемы с тем, чтобы заставить PyInstaller включить некоторые яичные зависимости. Он не смог обработать условный импорт так хорошо, как мне было нужно, и поиск в архиве с пакетами был затруднен. На Windows он требует pywin32 (поэтому его нельзя использовать с virtualenv), а версия 1.4 не работает с Python 2.6. Нет никакой информации о том, поддерживается ли Python 2.7.