如何将程序和动态加载的文件打包成单个可执行文件?(python + pygame 或语言无关)

1 投票
1 回答
1338 浏览
提问于 2025-04-15 15:59

关于如何制作一个独立的可执行文件,网上有很多很好的回答,但我不知道怎么把艺术资源(或者动态加载的文件)也打包进去。为什么我想这么做呢?因为我希望能分发一个简单的(可以随便扔掉的)游戏,这个游戏完全可以在一个单独的可执行文件里运行,不需要安装程序。

根据我搜索的结果,基本上有两种方法。

1) 避免使用艺术资源,而是生成内容。我可以有一个程序,把一个简单的精灵图像转换成一个RLE像素颜色列表,这个列表可以放在一个python脚本里。因为这是一个脚本,所以它可以通过打包工具和exe文件绑定在一起,对吧?

2) 使用某种自解压缩的压缩包,它可以把目录结构放到一个临时目录(或者可能放到内存里?),然后自动运行程序的入口点。

我想做的事情有道理吗?第二种选择看起来更合理,但我不确定用python和pygame该用哪些工具来实现。我用过py2exe,但它只打包了python脚本和导入的模块。

编辑:

这个讨论让我觉得你可以告诉打包工具把程序数据和依赖项一起包含进去。这是真的吗?

1 个回答

2

游戏开发不是我的专业领域,但如果你还没了解过py2exe,我强烈建议你去看看。我的感觉是,py2exe会处理所有的脚本导入语句。

希望这对你有帮助。

撰写回答