如何将多个python文件转换为EXE

时间:2018-07-02 13:20:55

标签: python pip pygame pyinstaller

我正在尝试将python游戏-太空入侵者转换为exe。我见过py2exe和cx_freeze,但它们似乎只编译1个sing py文件。我还有一堆图像,可以从模块依赖的2个资源文件夹中加载图像。谁能帮帮我吗?谢谢。

https://i.stack.imgur.com/y6h7M.png

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