使用bundle_files = 1和py2exe不起作用

时间:2010-05-25 23:32:16

标签: python django dll py2exe

经过一番挫折之后,我做到了!我将我的django应用程序转换为“exe”应用程序,作为Windows上的单个独立应用程序运行(使用cherrypy作为WSGI服务器) 但是当我尝试设置py2exe的选项"bundle_files" to "1"(即在生成的exe中包含python解释器Python25.dll)时,生成的exe崩溃了一条关于kernel32.dll的消息

但是当我使用"bundle_file" = "2"时,生成的exe就像魅力一样运行,但当然必须将Python25.dll作为一个单独的文件放在旁边。

任何人都有类似的行为,你能告诉我我错过了什么吗?

谢谢! :)

4 个答案:

答案 0 :(得分:1)

也许你可以试试pyinstaller

之前我确实遇到过这个问题,并且没有找到解决方案,但是pyinstaller也满足了我的需求而且工作得很好。

答案 1 :(得分:1)

这篇文章讲述了使用py2exe获取单个exe文件的所有内容。

py2exe - generate single executable file

如果你发布了一些代码,我会看一下,你的错误信息会有所帮助。

答案 2 :(得分:0)

我也面临类似的问题。但我的是PyGTK。简单的程序没有问题。虽然没有直接的解决方案,但提供了here的解释。

它说:

这是基于py2exe发行版中的Inno示例代码。它已经成功地用于一个相当复杂的PyGTK / Twisted应用程序,它需要运行时的额外数据(GTK运行时数据,GtkBuilder文件,图像,文本数据),不能与bundle_files一起使用

答案 3 :(得分:-1)

这是解决方案:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 3}},
    windows = [{'script': "Your_App_Name.py"}],
    zipfile = None,
)