【问题标题】:Problems with Tkinter in py2exepy2exe 中的 Tkinter 问题
【发布时间】:2010-10-15 18:51:21
【问题描述】:

我使用 tkinter 在 python 中制作了一个简单的 GUI 程序,并尝试使用 py2exe 将其转换为 .exe。但是,我遇到了一个问题。当我尝试运行 exe 时,它​​会很快闪烁错误然后消失。所以我能做的最好的就是对错误进行截图。

我该如何解决这个问题?

编辑

Velociraptors,这是我的设置文件。它是尽可能基本的。我将如何将 init.tcl 集成到代码中?

from distutils.core import setup
import py2exe

setup(console=[r'C:\Python26\Random Password Generator.py'])

【问题讨论】:

    标签: python tkinter tcl py2exe


    【解决方案1】:

    您的setup.py 脚本是否在data_files 选项中包含init.tcl? py2exe list of options 表示您应该这样包含图像和其他所需的数据文件。

    编辑:

    您的安装脚本指定您的程序应转换为控制台 exe。如果你想要一个 GUI 程序(你这样做,因为你使用的是 Tkinter),你需要使用 windows 选项:

    setup(windows=[r'C:\Python26\Random Password Generator.py'])
    

    Py2exe 应该正确包含 Tkinter 的依赖项。如果没有,您可以手动包含init.tcl

    setup(data_files=['C:\Python26\tcl\tcl8.5\init.tcl'],
          windows=[r'C:\Python26\Random Password Generator.py'])
    

    【讨论】:

      【解决方案2】:

      确保 tcl 安装在 C:\Users\splotchy\lib\tcl8.5C:\Users\lib\tcl8.5 中。

      如果您想更长时间地查看错误消息,请从命令提示符运行您的程序。

      【讨论】:

      • @Anteater:这就是它失败的原因……
      【解决方案3】:

      我在virutalenv 网站上发现了一个错误,提示了以下https://github.com/pypa/virtualenv/issues/93

      对于您目录“C:\Environments\VirtualEnv\Scripts\activate.bat”中的窗口,只需添加设置为您的 python 版本的 TCL 和 TK 的正确路径

      set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5" 
      set "TK_LIBRARY=C:\Python27\tcl\tk8.5" 
      

      重启你的 cmd 或 shell

      我相信 TCL 的位置已经从那里的默认位置改变了。

      【讨论】:

        猜你喜欢
        • 2011-03-23
        • 1970-01-01
        • 2011-05-05
        • 1970-01-01
        • 2011-07-15
        • 1970-01-01
        • 2010-10-09
        • 1970-01-01
        相关资源
        最近更新 更多