【问题标题】:Using bundle_files = 1 with py2exe is not working使用 bundle_files = 1 和 py2exe 不起作用
【发布时间】:2011-02-23 22:52:12
【问题描述】:

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

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

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

谢谢! :)

【问题讨论】:

  • 天哪,我知道我以前遇到过这个问题,但不记得我到底做了什么来解决它。 :( 对不起,伙计。如果我记得,我会回来的。
  • 老兄? :) -- 谢谢,阿伦!当你记得如何/为什么记得时请告诉我!
  • 我遇到了类似的问题,但是如果我将 bundle_files 设置为 1 或 2,exe 会崩溃。只有 3 个有效。我的是一个 Tkinter GUI 实用程序。 py2exe-0.6.9.win32-py2.6。我尝试了一些谷歌搜索,发现了类似问题的报告,但到目前为止还没有修复。
  • 您的意思可能是“bundle_files”:1,而不是“bundle_files”=“1”或“bundle_file”=“1”。对吗?
  • 您使用的是 Windows 64 位吗?因为 64 位机器不支持“bundle_file”到“1”

标签: python django dll py2exe


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

【讨论】:

    【解决方案2】:

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

    上面写着:

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

    【讨论】:

      【解决方案3】:

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

      py2exe - generate single executable file

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

      【讨论】:

        【解决方案4】:

        也许你可以试试pyinstaller

        我之前确实遇到过这个问题,但一直没有找到解决方案,但是 pyinstaller 也满足了我的需求并且运行良好。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-03-08
          • 1970-01-01
          • 2011-09-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多