Превратите простую программу на Python в отдельный исполняемый файл Windows
Хорошо, я написал глупую простую маленькую программу на Python под названием Coloriffic, которая позволяет вам настраивать значения красного, зеленого и синего цветов и отображать полученный цвет. Я использовал Pygame для достижения этой цели.
Затем я посмотрел вокруг, как превратить это в простую программу, которую я мог бы передать кому-то еще, без необходимости установки Python или Pygame. После прочтения нескольких вариантов (и нескольких советов на этом самом сайте) большинство людей рекомендовало cx_freeze, поэтому я скачал WHL и установил его. Я создал скрипт setup.py, который не был сложным, поскольку в Coloriffic нет изображений или других внешних файлов, и это очень простая программа.
Когда я запустил setup.py, это сработало! Он создал Coloroffic.exe, который работал очень хорошо. Проблема в том, что он также создал каталог с сотней других файлов поддержки. Я попытался создать установщик MSI, который дал мне один исполняемый файл, но тот, который при запуске просто выбрасывает те же сотни + файлов в другой каталог.
Есть ли способ взять мою простую программу Coloriffic.py и преобразовать ее в один исполняемый файл Windows, в котором есть все, что нужно ВНУТРИ исполняемого файла, и который не нужно устанавливать? Я пытаюсь выяснить, могу ли я на Python взять свои программы.py и скомпилировать их в отдельные исполняемые файлы без создания каталога файлов поддержки?
Если так, то как мне это сделать?
Благодарю.
РЕДАКТИРОВАТЬ: Не пытаясь сделать его закрытым исходным кодом, просто глядя собрать все в одном файле. Кроме того, я прочитал, что "py2exe создаст exe-файл, который вы хотите, но вам нужно иметь ту же версию MSVCR90.dll на компьютере, на котором вы собираетесь использовать новый exe" - это может быть проблемой, если только на всех машинах Windows из 7 на этот файл все в той же версии? Именно поэтому я и спрашиваю, во-первых, создать полностью независимый EXE-файл. Я также вижу, что некоторые люди рекомендуют cx_freeze, но либо они не понимают, что он не создает один файл, либо я не понимаю, как это сделать. Есть ли способ заставить cx_freeze создать одиночный exe-файл?
Я думаю, я могу надеяться, что с зависимостью MSVCR90.dll покончено, и попробуйте py2exe - но я хотел бы получить несколько советов, прежде чем идти по этому пути, если он неправильный.
Спасибо за предложения и ссылки на другие ответы на вопросы, но я до сих пор не вижу прямого ответа на этот вопрос?
РЕДАКТИРОВАТЬ 2: Еще одно замечание: когда я использую cx_freeze для создания исполняемого файла, а затем запускаю Coloriffic.exe, сначала он создает то, что выглядит как черное окно Dos-box, затем появляется второе окно с моей программой. Я также хотел бы, чтобы исполняемый файл запускал только ОДНО окно, мою программу, без того, чтобы окно типа DOS появлялось первым и оставалось позади окна программы. Благодарю.
1 ответ
Попробуйте Py2exe, это довольно простой и быстрый подход: Py2exe Tutorial
EXE не должен быть установлен, но он также создает файлы поддержки в том же каталоге