Python 3.2 と Pygame でゲームを作っています。すべてを実行可能ファイルにバンドルすることに成功cx_freeze
し、実行されました。罰金。唯一の問題は、フラグを myに渡しても、ゲームがデバッグ モードでコンパイルされることです。-OO
setup.py
(実際にprint
あるステートメントで 確認しました。)__debug__
True
問題は、リリース モードで自動的に無効になるデバッグ機能がゲームにあることです。ゲームのデバッグ機能を配布したくありません。コードから手動で削除する必要もありません。
Mysetup.py
は、簡潔にするためにここでは短縮されていますが、次のとおりです。
from cx_Freeze import setup, Executable
includes = [<some modules>]
excludes = [<some unwanted modules>]
include_files = [<game assets>]
build_options = {
'append_script_to_exe':True,
'bin_excludes':excludes,
'compressed':True,
'excludes': excludes,
'include_files': include_files,
'includes': includes,
'optimize':2,
'packages': ['core', 'game'],
}
common_exe_options = {
'appendScriptToExe' : True,
'appendScriptToLibrary':True,
'compress' : True,
'copyDependentFiles' : True,
'excludes' : excludes,
'includes' : includes,
'script' : '__init__.py',
}
executable = Executable(**common_exe_options)
setup(name='Invasodado',
version='0.8',
description='wowza!',
options = {'build_exe': build_options,
'bdist_msi': build_options},
executables=[executable])
残りのコードと同様に、完全なスクリプトはhttps://github.com/CorundumGames/Invasodado/blob/master/setup.pyにあります。
Ubuntu 12.10 では、python3.2 -OO setup.py build
. Windows XP では、C:\Python32\python -OO setup.py build
.
どんな助けでも素晴らしいでしょう!