使用bundle_files=1与py2exe无效

16 投票
4 回答
12340 浏览
提问于 2025-04-15 23:10

经过一番折腾,我终于成功了!我把我的django应用程序转换成了一个“exe”文件,可以在Windows上作为一个独立的应用程序运行(使用cherrypy作为WSGI服务器)。

但是,当我尝试将py2exe的选项"bundle_files"设置为"1"时(也就是把Python解释器的Python25.dll打包到生成的exe文件里),生成的exe文件就崩溃了,提示信息提到了kernel32.dll。

不过,当我把"bundle_file"设置为"2"时,生成的exe文件运行得非常顺利,但当然需要把Python25.dll作为一个单独的文件放在它旁边。

有没有人遇到过类似的问题,能告诉我我缺少了什么吗?

谢谢! :)

4 个回答

1

我也遇到过类似的问题。不过我的是关于PyGTK的。简单的程序没有问题。虽然没有直接的解决办法,但这里有一个解释 在这里

它说:

这个是基于py2exe分发中的Inno示例代码。它成功地运行了一个相对复杂的PyGTK/Twisted应用,这个应用在运行时需要额外的数据(比如GTK运行时数据、GtkBuilder文件、图片、文本数据),这些数据就是无法通过bundle_files来处理

1

你可以试试 pyinstaller

我之前也遇到过这个问题,但一直没找到解决办法。不过,pyinstaller 也能满足我的需求,而且运行得非常好。

2

这篇文章主要讲的是如何使用py2exe来生成一个单独的exe文件。

py2exe - 生成单个可执行文件

如果你发一些代码过来,我可以帮你看看,错误信息也会有帮助。

撰写回答