Возникли проблемы с созданием .exe с помощью cx_freeze с python и pygame, включая дополнительные файлы

У меня проблемы с созданием файла .exe с помощью cx_Freeze. Я пытаюсь использовать эту игру Pygame, для которой нужны файлы .png, .gif и .ogg. бежать. Я пытался скомпилировать только простой Python (без pygame или дополнительных файлов), используя строку команды и setup.py, но ни один из них не работал, и я немного не в себе.

Я установил cx_Freeze и проверил, что он работает с «import cx_freeze» в IDLE без ошибок. Я использую Python 3.3 в Windows 7 с правильными версиями pygame и cx_freeze для моей версии python.

Может ли кто-нибудь помочь мне в создании этого .exe?


person jellyberg    schedule 17.04.2013    source источник
comment
Не могли бы вы подробнее рассказать о своих проблемах? Начните с простого файла Python - что вы будете делать? Вы видите какие-нибудь ошибки?   -  person Thomas K    schedule 17.04.2013
comment
@Thomas K: Я просто не знаю, что поместить в setup.py и как включить файлы и что делать с папками 'diff' или 'build' - документация cx_Freeze, которую я нашел в Интернете, написана для меня на идиш. Мне действительно нужен кто-то, кто проведет меня через это.   -  person jellyberg    schedule 17.04.2013
comment
Вы можете попробовать запустить cxfreeze-quickstart, чтобы создать файл setup.py. Если это не сработает, есть пример файла, здесь, который вы могли бы копировать и изменять.   -  person Thomas K    schedule 18.04.2013


Ответы (1)


Чтобы включить файлы в ваш .exe, вы должны написать setup.py файл, похожий на этот:

from cx_Freeze import setup, Executable

exe=Executable(
     script="file.py",
     base="Win32Gui",
     icon="Icon.ico"
     )
includefiles=["file.ogg","file.png",etc]
includes=[]
excludes=[]
packages=[]
setup(

     version = "0.0",
     description = "No Description",
     author = "Name",
     name = "App name",
     options = {'build_exe': {'excludes':excludes,'packages':packages,'include_files':includefiles}},
     executables = [exe]
     )
person Anthony    schedule 17.04.2013
comment
Спасибо, это фантастика. Будет ли pygame пакетом или включением? Могу ли я поместить туда и другие встроенные модули, которые импортировал как time and random? Спасибо еще раз. - person jellyberg; 17.04.2013
comment
По моему опыту, вам не нужно никуда добавлять pygame. Мой exe работает, когда я не помещаю pygame в скрипт setup.py. То же самое и с другими модулями. - person Anthony; 17.04.2013
comment
Да, вы должны сначала перейти в каталог с файлами в нем, а затем набрать python setup.py build. - person Anthony; 17.04.2013
comment
Я предполагаю, что вы имеете в виду строку Windows cmd. В нем говорится: «python» не распознается как внутренняя или внешняя команда, работающая программа или командный файл. Любые идеи? - person jellyberg; 18.04.2013
comment
Да windows cmd line. Это интересно. Я не уверен. Он работает на моем компьютере. Возможно, дело в питоне 3.3. (У меня Python 3.2). Где вы установили питон? Попробуйте ввести полное местоположение (например, C: \ python \ python.exe), а не просто python. Я не совсем уверен, сработает ли это, но попробовать стоит. - person Anthony; 18.04.2013
comment
@jellyberg убедитесь, что вы добавили путь Python (например, C: \ Python32) к переменным среды PATH, как в computerhope.com/issues/ch000549.htm - person Muayyad Alsadi; 18.04.2013
comment
Фантастика! Немного поиграв со шрифтом, у меня все заработало, еще раз спасибо @Anthony. - person jellyberg; 18.04.2013