【问题标题】:Py2exe - window disappears immediately after runningPy2exe - 运行后窗口立即消失
【发布时间】:2012-12-03 08:43:51
【问题描述】:

我使用 py2exe 从 python gui 应用程序构建了 windows 可执行文件。 我的 setup.py 文件:

from distutils.core import setup
    import py2exe
    setup(windows=[{"script":"main.py"}],options={"py2exe":{"includes":["sip","PyQt4.QtGui"]}})

当我运行 py2exe 生成的 exe 时,窗口出现并立即消失。 我不知道出了什么问题。你能给我一些建议吗?

提前感谢您的帮助。

【问题讨论】:

  • 您是通过双击可执行文件来启动的吗?如果是这样,请尝试从命令行启动,您可能会看到一条错误消息。
  • 打开cmd并执行里面的exe,看看有没有异常什么的。但也要确保你的程序确实做了一些事情——如果是 Qt 应用程序,你必须用 app._exec() 启动主循环,否则它会立即退出。
  • 在你的python脚本末尾添加raw_input("")
  • 我已经尝试从命令行运行 - 结果相同,没有错误消息。
  • 谢谢格里杰什。问题解决了。

标签: python windows user-interface executable py2exe


【解决方案1】:

我遇到了同样的问题,我已经按照此评论中的说明解决了它

https://stackoverflow.com/a/17999421/1891624

只需在我的 setup.py 中添加此代码

import py2exe
py2exe.build_exe.py2exe.old_prepare = py2exe.build_exe.py2exe.plat_prepare
def new_prep(self):
  self.old_prepare()
  from _tkinter import TK_VERSION, TCL_VERSION
  self.dlls_in_exedir.append('tcl{0}.dll'.format(TCL_VERSION.replace('.','')))
  self.dlls_in_exedir.append('tk{0}.dll'.format(TK_VERSION.replace('.','')))
py2exe.build_exe.py2exe.plat_prepare = new_prep

【讨论】:

    【解决方案2】:

    在代码末尾添加这一行

    input('') 
    

    这将阻止窗口在您按下回车键之前关闭

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      相关资源
      最近更新 更多