Ответ на вопрос в моем другом ответе. Убедитесь, что вы прочитали его первым, так как этот расширяет его.
Итак, после еще нескольких часов мучений я заставил свою игру работать как .exe на компьютерах людей, у которых не установлен Python, что и было моей целью! Я использовал Pygame для создания игры, если кому нужно знать.
Итак, вот что я сделал после шага в другом ответе, который я дал:
Это setup.py, который я использовал:
from cx_Freeze import setup, Executable
includefiles = ['add_all_your_files_here, example.png, example.mp3']
includes = []
excludes = []
packages = []
setup(
name = 'yourgame',
version = '1.0.0',
description = '',
author = 'John Doe',
author_email = '[email protected]',
options = {'build_exe': {'excludes':excludes,'packages':packages,'include_files':includefiles}},
executables = [Executable('yourgame.py')]
)
Обратите внимание, что я не мог понять (и не хотел беспокоиться) о том, как включать файлы из других папок, поэтому я собрал их все вместе там, где был setup.py. Я пытался указать относительный путь, но, похоже, мне следовало указать абсолютный.
Чтобы заметить, какие файлы отсутствовали, мне пришлось запустить exe из cmd, чтобы при сбое я мог прочитать, в чем была ошибка. Это было невозможно сделать, когда я открывал .exe из Windows, потому что окно закрывалось слишком быстро.
Помимо файлов, которые требовались моему коду, ему также нужны были некоторые другие файлы .py. А именно:
re.py
sre_compile.py
sre_constants.py
sre_parse.py
Я скопировал их из python (c:\Python33\Lib) в папку с игрой.
Затем .exe смог без проблем запустить мою игру на моем и другом компьютере, на котором не установлен python (например, нет проблем со шрифтами, как я слышал, у некоторых людей).
Я потратил 9 часов за два дня, чтобы во всем этом разобраться. Надеюсь, это поможет другим новичкам.
person
Slobodan Stevic
schedule
26.05.2013