我正在尝试将python游戏-太空入侵者转换为exe。我见过py2exe和cx_freeze,但它们似乎只编译1个sing py文件。我还有一堆图像,可以从模块依赖的2个资源文件夹中加载图像。谁能帮帮我吗?谢谢。
答案 0 :(得分:1)
容易。只需使用cx_freeze脚本,但修改其范围即可。包括pygame库,添加tkinter依赖项,并包括游戏文件目录。
import cx_Freeze
import sys
import os
# Include TK Libs
os.environ['TCL_LIBRARY'] = r'C:\\Users\\yourusername\\AppData\\Local\\Programs\\Python\\Python36\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\\Users\\yourusername\\AppData\\Local\\Programs\\Python\\Python36\tcl\tk8.6'
executables = [
cx_Freeze.Executable(
script="yourClientFile.pyw", # .pyw is optional
base = "Win32GUI"
)
]
cx_Freeze.setup(
name='myName',
options={'build_exe':{'packages':['pygame'], 'include_files':['yourGameDataDirectoryHere']}},
executables = executables,
version = '1.0.0'
)
请注意,这仅适用于以下类型的文件结构:
Client.py (Runs game off src)
src - |
Game Files here
答案 1 :(得分:0)
我个人熟悉pyinstaller,这是通过“ --onefile”参数完成的
不过,对于py2exe的解释如下: https://stackoverflow.com/a/113014/9981387