【问题标题】:Having problems with making an .exe with cx_freeze with python and pygame, including additional files使用 python 和 pygame 使用 cx_freeze 制作 .exe 时遇到问题,包括附加文件
【发布时间】:2013-04-10 12:16:54
【问题描述】:

我在使用 cx_Freeze 创建 .exe 文件时遇到问题。我正在尝试使用this Pygame 游戏,它需要一些 .png、.gif 和 .ogg 才能运行。我尝试使用命令行和 setup.py 仅编译一个简单的 Python(没有 pygame 或其他文件),但都没有成功,我有点死了。

我已经安装了 cx_Freeze 并检查了它是否与 IDLE 中的“import cx_freeze”一起工作,不会引发错误。我在 Windows 7 上使用 Python 3.3,并为我的 python 版本使用正确版本的 pygame 和 cx_freeze。

谁能帮我创建这个.exe?

【问题讨论】:

  • 您能更具体地说明您遇到的问题吗?从简单的 Python 文件开始——你会做什么?您是否发现任何错误?
  • @Thomas KI 只是不知道在 setup.py 中放置什么以及如何包含文件以及如何处理“diff”或“build”文件夹 - 我的 cx_Freeze 文档在网上找到的对我来说是意第绪语……我真的需要有人来指导我。
  • 您可以尝试运行cxfreeze-quickstart 来创建 setup.py 文件。如果这不起作用,您可以复制和修改一个示例文件 shown here

标签: python pygame cx-freeze


【解决方案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]
     )

【讨论】:

  • 谢谢,太棒了。 pygame 是一个包还是一个包含?我是否也会将我导入的其他本机模块(例如 time 和 random )放在那里?再次感谢。
  • 根据我的经验,您不需要在任何地方添加 pygame。当我没有将 pygame 放在 setup.py 脚本中的任何位置时,我的 exe 就可以工作。其他模块也是如此。
  • 是的,你必须先切换到包含文件的目录,然后输入'python setup.py build'。
  • 我假设您的意思是 Windows cmd 行。它说:'python' 不是内部或外部命令、可运行程序或批处理文件。有什么想法吗?
  • 是的 windows cmd 行。那很有意思。我不知道。它适用于我的电脑。也许这是 python 3.3 的事情。 (我有python 3.2)。你在哪里安装了python?尝试输入完整位置(例如 C:\python\python.exe),而不仅仅是“python”。我不确定这是否可行,但值得一试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 2018-08-08
  • 2022-08-19
  • 2011-11-10
  • 2013-01-17
  • 1970-01-01
  • 2019-07-04
相关资源
最近更新 更多