Создание реальной исполняемой программы из кода Python

Совсем недавно я написал программу для друга, которая упрощает для него некоторые важные ежедневные вычисления. Теперь проблема, с которой я сталкиваюсь, заключается в том, что я хочу скомпилировать код в исполняемую программу, чтобы он/она могли удобно запускать ее на своей машине, возможно, с простым графическим интерфейсом или чем-то еще.

Я пытался использовать cx_Freeze с Python 3.3.0 64 бит, но безрезультатно (программа просто отказывается запускаться на их машине; я даже пытался сгенерировать исполняемый файл через 32-битный Python, но тоже безрезультатно). Тогда я подумал, что, возможно, смогу сгенерировать исполняемую программу через PyGame? Но в том-то и дело, что я никогда не пользовался никакими программами, связанными с Python, кроме IDLE, так что не знаю, что делать и искать.

Другим вариантом, возможно, было бы преобразование кода Python 3.3.0 в Python 2.x, но проблема в том, что я не знаком с Python 2.x, а также нет доступного автоматического конвертера (насколько я знаю). Мне было интересно, может ли кто-нибудь из вас указать мне какие-либо хорошие источники / ссылки, поскольку те, которые я яростно искал в Google, довольно неконкретны.


person kapython    schedule 24.03.2013    source источник
comment
Попробуйте это: PyInstaller   -  person Thanakron Tandavas    schedule 24.03.2013
comment
Только для одной машины, почему бы вам просто не установить на нее Python 3.3 со всеми зависимостями? Назовите основной скрипт __main__.py, заархивируйте все файлы и измените расширение на .pyw.   -  person Eryk Sun    schedule 24.03.2013
comment
PyInstaller не совместим с Python 3.x, но все равно спасибо. @eryksun: Думаю, я мог бы это сделать. Программа представляет собой всего один .py-файл, как именно я могу заархивировать и переименовать?   -  person kapython    schedule 24.03.2013
comment
@eryksun: Хорошо, но мне нужно получить зависимости и включить их в файлы, которые я собираюсь отправить своему другу. Хм, а что вы имеете в виду, когда пишете pylauncher?   -  person kapython    schedule 24.03.2013
comment
Обратите внимание, что если вы используете cx_Freeze, вам нужно скопировать файлы, которые он сохраняет, вместе с исполняемым файлом — обычно это некоторые библиотеки DLL и, возможно, zip-файл. Без них .exe работать не будет.   -  person Thomas K    schedule 24.03.2013
comment
Какую ОС вы используете?   -  person LtWorf    schedule 30.03.2013
comment
Возможный дубликат Как мне скомпилировать мой Python 3 приложение в .exe?   -  person Cees Timmerman    schedule 18.05.2017


Ответы (3)


Вы можете просто использовать py2exe. Он совместим с Python 3. Я видел обучающие материалы для него на YouTube.

person panpog    schedule 29.03.2013
comment
py2exe пока не поддерживает Python 3. В репозитории есть py3exe усилия, но он еще не готов к использованию, и за несколько месяцев в нем не было никаких коммитов. - person Thomas K; 29.10.2013

Вы можете попробовать встроить его в программу на C и скомпилировать для своего исполняемого файла. Достойный учебник находится в документации по python по адресу http://docs.python.org/2/extending/embedding.html

person John Gann    schedule 29.10.2013

PyInstaller "это программа, которая преобразует (упаковывает) программы Python в автономные исполняемые файлы для Windows, Linux, Mac OS X, Solaris и AIX» и предоставляет вам один автономный исполняемый файл.

Даже будучи начинающим пользователем Python, мне удалось (относительно) легко упаковать свое приложение с помощью PyInstaller.

person Kaveh Shahbazian    schedule 20.02.2014